Need to supress a ALV display for a standard program while submiting
Hi ,
I am trying to suppress an ALV display from a standard program which I am submitting though my Z program .
Please kindly help me on the same.
Thanks and Regards,
Sankha
Hmmmm... I suggest copying the code of RM08RELEASE to your program, if cannot then copy the program to a Z program without copying the includes.
Now in the copied code comment
PERFORM alv_list USING release_auto
CHANGING tab_arbkp
tab_arseg
tab_released_arbkp.
and u can use the 3 tables :
tab_arbkp
tab_arseg
tab_released_arbkp
in your code.
Similar Messages
-
I need to upate with no display for Infotype in edit mode.
hi all,
I need to update my custom infotype.
I use the following Function
CALL FUNCTION HR_INFOTYPE_OPERATION.
i need to upate with no display for Infotype in edit mode.
Update required to be done dynamically.
BR,
AliHi ,
You can enter the data at databse level with the help of abap code...
Normally the database table for infotype start with PA0000 for infotype 0 & PA0001 fornfotype 1.
Check your database table name for custom infotype & edit the infotype at table level...
Regards,
Mahesh -
ALV Display Variant copying between programs
There is a report program say PROGRAM1 whose ALV display variants we want to copy to the ALV display variants of another program say PROGRAM2.
Both these program share the same ALV output structure design. My questions are
1) Can the display variants of an ALV be copied into another program.?
2) Can this be managed programatically?Hi,
Try using LVC_VARIANT_SELECT and LVC_VARIANT_SAVE fms.
First call LVC_VARIANT_SELECT to read variant from the first program and then call LVC_VARIANT_SAVE to save it for the second program.
Take a look at report BCALV_GRID_11 for reference
Sri
Message was edited by: Srikanth Pinnamaneni -
Copying ALV Display Variants between different programs
Is there a way to copy the ALV Display Variants from one program to another? I am NOT referring to selection screen variants.
An SAP standard program was copied to a Z program. Some changes were made to the logic. The original SAP program has many (100+) ALV Display Variants. I do not want to manually re-create them. Is there a way to copy these from one program to another (without using a custom program to manipulate the tables)?
Thanks.
NormHi norman,
even i was thinking the same while you passing the alv parameter is_variant, give the the program which is having 100 variants.
is_variant-REPORT = 'STANDARDPRG'.
this will import all varaints from it, but when you save any new one it will save in the same standard program.
regards
vijay -
ALV display for row s and columns in this format.have ur full points..
Hi ALL
I have to dispalay data in the ALV format as :
Basic
DA
HRA
PF
VPF
20000
500
5000
| 1500 | 600 | |
Details : Basic HRA in one Row and PF , VPF in second Row.
The Amount regarding htese fields are also displayed in the next rows for all emp. numbers.
its urgent for me and need helpful answers...
Regards
Lakhansee the attached code it will display the hierarchial display as per your need
change the internal tables with dat of your own orgn structure and pass it to the fun module.
Description : Pick Status Report
This is an ALV report using the heirarchical ALV list display. The
report selects all deliveries that fulfil the selection criteria
and displays a summary of all items in that delivery with reference
to certain statuses: overall status, goods issue status, transfer
order status, load to pallet status, pallet count status, loaded to
van status, van manifest printed status and end of day manifest
printed status. These statuses have been defined by the business.
There is extra functionality required to trigger printing of the van
and end of day manifests from this report, and to set the loading
end status of a shipment if the last handling unit of a particular
shipment has been loaded onto a van for which the van manifest has
been triggered.
REPORT zwmr_pick_status_report NO STANDARD PAGE HEADING
MESSAGE-ID zw.
Type Pools
TYPE-POOLS: icon, slis.
Tables
TABLES: tvst,
likp,
t30b,
vekp,
*{ INSERT UKMK900355 4
zhu_to_link, "AS03
*} INSERT
zpallettr,
vttk, "MB01
zvantr.
Types
TYPES:
BEGIN OF ty_data,
lgtor LIKE likp-lgtor, " door
vbeln LIKE likp-vbeln, " delivery
wbstk LIKE vbuk-wbstk, " Goods movement status
kostk LIKE vbuk-kostk, " Picking status
posnr LIKE lips-posnr, " item
route LIKE likp-route, " route
wadat LIKE likp-wadat, " goods issue date
lvsta LIKE vbup-lvsta, " warehouse status
packvorschr LIKE vekp-packvorschr, " pack mnemonic
exidv LIKE vekp-exidv, " handling unit
zpallet_no(10), "like zpallettr-zpallet_no, " pallet no
zdep_point LIKE zpallettr-zdep_point, "Departur Point "Jvdm01
zcount_check LIKE zpallettr-zcount_check," count check flag
zvan_no(10), "like zvantr-zvan_no, " van no
zvan_print LIKE zvantr-zvan_print, " van manifest print
tknum LIKE vttk-tknum, " Shipment No "ANV 11523
zeod_print LIKE zvantr-zeod_print, " eod manifest print
zzpackclass LIKE vekp-zzpackclass, " package class
zzti LIKE vekp-zzti, " T.I. value
vstel LIKE likp-vstel, "Shipping point RM050906
anzpk TYPE znopack, "No of packages in dlv MB01+
END OF ty_data.
TYPES:BEGIN OF x_likp ,
vbeln LIKE likp-vbeln,
vstel LIKE likp-vstel, "RM050906
lgtor LIKE likp-lgtor,
zzroute2lgtor LIKE likp-zzroute2lgtor, "MB01
route LIKE likp-route,
wadat LIKE likp-wadat,
zz2route LIKE likp-zz2route, "MB01+
zzexproute LIKE likp-zzexproute, "MB01+
zzroute2 LIKE likp-zzroute2, "MB01+
anzpk LIKE likp-anzpk,
END OF x_likp.
TYPES: BEGIN OF x_vbuk,
vbeln TYPE vbuk-vbeln,
wbstk TYPE vbuk-wbstk, " Goods movement status
kostk TYPE vbuk-kostk, " Picking status
END OF x_vbuk.
TYPES: BEGIN OF x_lips,
vbeln TYPE lips-vbeln, " delivery
posnr TYPE lips-posnr, " item
pstyv TYPE lips-pstyv,
matnr TYPE lips-matnr,
charg TYPE lips-charg,
END OF x_lips.
TYPES: BEGIN OF x_vbup,
vbeln TYPE vbup-vbeln, " delivery
posnr TYPE vbup-posnr, " item
lvsta TYPE vbup-lvsta, " warehouse status
END OF x_vbup.
TYPES: BEGIN OF x_vepo,
venum TYPE vepo-venum, "Internal Handling Unit
Number
vepos TYPE vepo-vepos, "Handling Unit Item
vbeln TYPE vepo-vbeln, " delivery
posnr TYPE vepo-posnr, " item
exidv TYPE vekp-exidv,
END OF x_vepo.
TYPES: BEGIN OF x_vepo1,
venum TYPE vekp-venum, "Internal Handling Unit
Number
exidv TYPE vekp-exidv,
END OF x_vepo1.
Start of changes by ANV SR#11523
TYPES: BEGIN OF x_vttp,
tknum TYPE tknum, " Shipment No
tpnum TYPE tpnum, " Item No
vbeln TYPE vbup-vbeln, " delivery
laufk LIKE vttk-laufk, " leg indicator MB01+
END OF x_vttp.
End of changes by ANV SR#11523
Data
RANGES: r_del FOR likp-vbeln,
r_lgtor FOR likp-lgtor.
RANGES: r_vanno FOR zvantr-zvan_no,
r_palno FOR zpallettr-zpallet_no.
DATA: BEGIN OF number_range OCCURS 0,
mark(1),
id(3),
num(10) TYPE n,
desc LIKE zpalletmd-zdesc,
END OF number_range.
DATA: t_disp_tab TYPE STANDARD TABLE OF zpickdisp,
t_data_tab TYPE ty_data OCCURS 0 WITH HEADER LINE,
it_likp TYPE x_likp OCCURS 0 WITH HEADER LINE, "SUM
it_vbuk TYPE x_vbuk OCCURS 0 WITH HEADER LINE, "SUM
it_lips TYPE x_lips OCCURS 0 WITH HEADER LINE, "SUM
it_vbup TYPE x_vbup OCCURS 0 WITH HEADER LINE, "SUM
it_vepo TYPE x_vepo OCCURS 0 WITH HEADER LINE, "SUM
it_vepo2 TYPE x_vepo OCCURS 0 WITH HEADER LINE, "SUM
*{ INSERT UKMK900355 3
t_vepo_low TYPE x_vepo OCCURS 0 WITH HEADER LINE, " AS01
*} INSERT
it_vepo1 TYPE x_vepo1 OCCURS 0 WITH HEADER LINE, "SUM
it_vttp TYPE x_vttp OCCURS 0 WITH HEADER LINE, "ANV SR#11523
t_disp_head TYPE STANDARD TABLE OF zpickhead.
DATA wa_item_tab TYPE zpickdisp OCCURS 0 WITH HEADER LINE.
"ANV SR#11113
DATA: w_numrnge LIKE number_range,
w_number(10) TYPE n.
DATA: t_likp LIKE likp OCCURS 0 WITH HEADER LINE,
t_lips LIKE lips OCCURS 0 WITH HEADER LINE,
t_vbuk LIKE vbuk OCCURS 0 WITH HEADER LINE,
t_vbup LIKE vbup OCCURS 0 WITH HEADER LINE,
t_vepo LIKE vepo OCCURS 0 WITH HEADER LINE,
t_vekp LIKE vekp OCCURS 0 WITH HEADER LINE,
t_vantr LIKE zvantr OCCURS 0 WITH HEADER LINE,
t_pallettr LIKE zpallettr OCCURS 0 WITH HEADER LINE,
w_likp like likp,
w_lips LIKE lips,
w_vbuk LIKE vbuk,
w_vbup LIKE vbup,
w_vepo LIKE vepo,
w_vekp LIKE vekp,
w_vepo TYPE x_vepo1,
w_vbup TYPE x_vbup,
w_vttp TYPE x_vttp, " ANV SR#11523
w_lips TYPE x_lips,
w_vbuk TYPE x_vbuk,
w_likp TYPE x_likp, "MB01-+
w_tplst LIKE vttk-tplst. "MB01+
DATA: s_variant LIKE disvariant, "MB01+
def_variant LIKE disvariant.
ALV DATA *****
DATA:
g_grid TYPE REF TO cl_gui_alv_grid,
g_sort TYPE slis_t_sortinfo_alv,
g_custom_container TYPE REF TO cl_gui_custom_container,
g_layout TYPE slis_layout_alv,
gt_fieldcat TYPE slis_t_fieldcat_alv,
t_fldcat LIKE LINE OF gt_fieldcat,
g_keyinfo TYPE slis_keyinfo_alv,
gt_events TYPE slis_t_event,
gs_event TYPE slis_alv_event,
w_sy_repid LIKE sy-repid.
DATA: BEGIN OF seltab OCCURS 0.
INCLUDE STRUCTURE rsparams.
DATA: END OF seltab.
SYSTEM GENERATED TABLE CONTROL DATA ********
DECLARATION OF TABLECONTROL 'TC_TABCON' ITSELF
CONTROLS: tc_tabcon TYPE TABLEVIEW USING SCREEN 0100.
LINES OF TABLECONTROL 'TC_TABCON'
DATA: g_tc_tabcon_lines LIKE sy-loopc.
DATA: ok_code LIKE sy-ucomm.
Constants
CONSTANTS: c_data_class LIKE klah-class VALUE 'DG_DATA',
c_mat_class LIKE rmclf-klart VALUE '001',
c_pack LIKE lips-mtart VALUE 'VERP',
c_a(1) VALUE 'A',
c_b(1) VALUE 'B',
c_c(1) VALUE 'C',
c_yes(1) VALUE 'X',
c_no(1) VALUE ' '.
Selection screen
standard report select options block
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-002.
SELECT-OPTIONS:
s_wadat FOR likp-wadat NO-EXTENSION OBLIGATORY. " Goods Issue Date
*parameters: "TR01-
p_vstel like tvst-vstel obligatory. " Shipping Point "TR01-
SELECT-OPTIONS: "TR01+
p_vstel FOR tvst-vstel. " Shipping Point "TR01+
SELECT-OPTIONS:
s_lfart FOR likp-lfart, " Delivery type
s_lgtor FOR t30b-lgtor, " Door selection
s_exidv FOR vekp-exidv, " Handling Unit
s_vbeln FOR likp-vbeln, " Delivery "MB01-+
s_lfdat FOR likp-lfdat. " Delivery date
PARAMETERS:
p_exdata AS CHECKBOX. " Show extra columns flag
SELECTION-SCREEN END OF BLOCK a.
van/pallet specific select options block
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-001.
SELECT-OPTIONS:
s_palno FOR zpallettr-zpallet_no, " no-extension,
s_vanno FOR zvantr-zvan_no. " no-extension.
SELECT-OPTIONS:
s_deppnt FOR zpallettr-zdep_point, "Jvdm01
s_tplst FOR vttk-tplst. "MB01
SELECTION-SCREEN END OF BLOCK b.
MB01 - START - Display variant
SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-019.
PARAMETERS: p_vari LIKE disvariant-variant.
SELECTION-SCREEN END OF BLOCK c.
MB01 - END
Value Request Events
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_palno-low.
CLEAR: number_range, w_number .
REFRESH number_range.
select numbers and display pop up screen for selection
PERFORM select_pal_nos.
s_palno-low = w_number.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_palno-high.
CLEAR: number_range, w_number .
REFRESH number_range.
select numbers and display pop up screen for selection
PERFORM select_pal_nos.
s_palno-high = w_number.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_vanno-low.
CLEAR: number_range, w_number .
REFRESH number_range.
select numbers and display pop up screen for selection
PERFORM select_van_nos.
s_vanno-low = w_number.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_vanno-high.
CLEAR: number_range, w_number .
REFRESH number_range.
select numbers and display pop up screen for selection
PERFORM select_van_nos.
s_vanno-high = w_number.
MB01 - START - display variant
F4-Help for variant
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
PERFORM f4_for_variant.
MB01 - END
At Selection Screen
AT SELECTION-SCREEN.
PERFORM validate_selections.
Initialization
INITIALIZATION.
MB01 - START INSERT
1. Transportation planning point
Import transportation planning point from user parameters and
populate
select option.
GET PARAMETER ID 'TDP' FIELD w_tplst.
MOVE: 'I' TO s_tplst-sign,
'EQ' TO s_tplst-option,
w_tplst TO s_tplst-low.
APPEND s_tplst.
2. Display variant
CLEAR s_variant.
s_variant-report = sy-repid.
Get default variant
s_def_variante = s_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = 'A'
CHANGING
cs_variant = s_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
p_vari = s_variant-variant.
ENDIF.
MB01 - END INSERT
Start of selection
START-OF-SELECTION.
clear all data tables
CLEAR: t_likp,
it_likp,
t_lips,
t_vbuk,
t_vbup,
t_vepo,
t_vantr,
t_pallettr,
w_likp,
w_lips,
w_vbuk,
w_vbup,
w_vepo,
w_vekp.
REFRESH: t_likp,
it_likp,
t_lips,
t_vbuk,
t_vbup,
t_vepo,
t_vantr,
t_pallettr.
select data for ALV
due to different input parameters being used, to streamline the data
selection process, different selection methods are required
IF NOT s_vanno IS INITIAL
OR NOT s_palno IS INITIAL
OR NOT s_deppnt IS INITIAL. "Jvdm01
if selecting by van/pallet number, need to select the data from the
handling unit upwards to delivery
PERFORM select_data_up.
ELSE.
otherwise the data can be selected from the delivery downwards
PERFORM select_data_down.
ENDIF.
End of selection
END-OF-SELECTION.
call hierarchical ALV display function module
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_callback_program = 'ZWMR_PICK_STATUS_REPORT'
i_callback_pf_status_set = 'SET_STATUS'
i_callback_user_command =
'USER_COMMAND' "custom gui status form
is_layout = g_layout "user command form
it_fieldcat = gt_fieldcat
it_sort = g_sort
i_save = 'X' "MB01+
is_variant = s_variant
it_events = gt_events
i_tabname_header = 't_disp_head'
i_tabname_item = 't_disp_tab'
i_structure_name_header = 'ZPICKHEAD'
i_structure_name_item = 'ZPICKDISP'
is_keyinfo = g_keyinfo
TABLES
t_outtab_header = t_disp_head
t_outtab_item = t_disp_tab.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
FORMS
Includes inserted by Screen Painter Wizard. DO NOT CHANGE THIS LINE!
INCLUDE zwmr_pick_o01.
INCLUDE zwmr_pick_status_reporto01 .
INCLUDE zwmr_pick_i01.
INCLUDE zwmr_pick_status_reporti01 .
INCLUDE zwmr_pick_f01.
INCLUDE zwmr_pick_status_reportf01 .
*& Form select_pal_nos
select pallet numbers for search help
FORM select_pal_nos.
DATA: BEGIN OF t_palno OCCURS 0,
zpallet_no LIKE zpallettr-zpallet_no,
END OF t_palno.
select all available pallet numbers
SELECT DISTINCT zpallet_no FROM zpallettr
INTO CORRESPONDING FIELDS OF TABLE t_palno.
LOOP AT t_palno.
get pallet id
SELECT SINGLE zpallet_id FROM zpallettr
INTO number_range-id
WHERE zpallet_no = t_palno-zpallet_no.
get pallet description
SELECT SINGLE zdesc FROM zpalletmd
INTO number_range-desc
WHERE zpallet_id = number_range-id.
number_range-num = t_palno-zpallet_no.
append to search help table
APPEND number_range.
ENDLOOP.
call pop up dialog box
CALL SCREEN 0100 STARTING AT 5 5.
ENDFORM. " select_pal_nos
*& Form select_van_nos
select van numbers for search help
FORM select_van_nos.
DATA: BEGIN OF t_vanno OCCURS 0,
zvan_no LIKE zvantr-zvan_no,
END OF t_vanno.
select available van numbers
SELECT DISTINCT zvan_no FROM zvantr
INTO CORRESPONDING FIELDS OF TABLE t_vanno.
LOOP AT t_vanno.
select van id
SELECT SINGLE zvan_id FROM zvantr
INTO number_range-id
WHERE zvan_no = t_vanno-zvan_no.
select van description (maintained in pallet tables)
SELECT SINGLE zdesc FROM zpalletmd
INTO number_range-desc
WHERE zpallet_id = number_range-id.
number_range-num = t_vanno-zvan_no.
append to search help table
APPEND number_range.
ENDLOOP.
call pop up dialog box
CALL SCREEN 0100 STARTING AT 5 5.
ENDFORM. " select_van_nos
*& Form select_data_down
select data if selecting from delivery down
FORM select_data_down.
select all deliveries from LIKP that fulfill selection criteria
Start SU01 optmization changes
SELECT vbeln vstel lgtor route wadat "RM050906
SELECT vbeln vstel lgtor route wadat
zzroute2lgtor zz2route zzexproute zzroute2 anzpk "MB01-+
FROM likp INTO CORRESPONDING FIELDS OF TABLE it_likp"MB01-+
WHERE vbeln IN s_vbeln
AND vstel IN p_vstel
AND lfart IN s_lfart
AND wadat IN s_wadat
AND lfdat IN s_lfdat "MB01+
AND
( lgtor IN s_lgtor OR zzroute2lgtor IN s_lgtor ) ."MB01+
IF sy-subrc NE 0.
no data found
MESSAGE i007.
EXIT.
ENDIF.
IF NOT t_likp[] IS INITIAL. "SUM
IF NOT it_likp[] IS INITIAL.
SORT it_likp BY vbeln. "SUM
select sales document headers from VBUK
SELECT vbeln wbstk kostk
FROM vbuk INTO TABLE it_vbuk
FOR ALL ENTRIES IN it_likp "SUM
WHERE vbeln EQ it_likp-vbeln. "SUM
SORT it_vbuk BY vbeln.
select all relevant delivery items from LIPS
SELECT vbeln posnr pstyv matnr charg
FROM lips INTO TABLE it_lips
FOR ALL ENTRIES IN it_likp
WHERE vbeln EQ it_likp-vbeln
AND pckpf NE 'B' "cannot be packed "AS05
AND pstyv NE 'ZPAC' "AS05
AND pstyv NE 'ZGDP' "TR02+ "AS05
AND lfimg GT 0. "TR01+
ENDIF.
IF NOT it_lips[] IS INITIAL.
select all sales document line items from VBUP
SORT it_lips BY vbeln posnr. "SUM
SELECT vbeln posnr lvsta
FROM vbup INTO TABLE it_vbup
FOR ALL ENTRIES IN it_lips
WHERE vbeln EQ it_lips-vbeln
AND posnr = it_lips-posnr.
SORT it_vbup BY vbeln posnr.
select corresponding handling unit ID's (venum)
TR03 Replace
start
select * from vepo appending corresponding fields of table t_vepo
for all entries in t_lips
where vbeln = t_lips-vbeln
and posnr = t_lips-posnr
and matnr = t_lips-matnr
and charg = t_lips-charg.
SELECT vepoVENUM vepoVEPOS vepovbeln vepoposnr
FROM vepo as vepo
INNER JOIN vekp as vekp ON vepovenum = vekpvenum
APPENDING corresponding fields of table it_vepo
FOR ALL ENTRIES IN it_lips
WHERE vepo~vbeln = it_lips-vbeln
AND vepo~posnr = it_lips-posnr
AND vepo~matnr = it_lips-matnr
AND vepo~charg = it_lips-charg
AND vekp~exidv IN s_exidv.
SELECT venum vepos vbeln posnr
FROM vepo INTO TABLE it_vepo2
FOR ALL ENTRIES IN it_lips
WHERE vbeln = it_lips-vbeln
AND posnr = it_lips-posnr
AND matnr = it_lips-matnr
AND charg = it_lips-charg.
SORT it_vepo2 BY venum vepos.
*{ INSERT UKMK900355 1
Ice-multis: replace lower-level HUs with highest level " AS01
PERFORM replace_highest_hu. " AS01
*} INSERT
Start of changes by ANV SR#11523
MB01 - extract shipment header as well to populate leg indicator
Therefore, join vttp with vttk
Limit as well by transportation planning point
SELECT vttptknum vttptpnum vttpvbeln vttklaufk
FROM vttp INNER JOIN vttk
ON vttptknum = vttktknum
INTO TABLE it_vttp
FOR ALL ENTRIES IN it_lips
WHERE vttp~vbeln = it_lips-vbeln
AND vttk~tplst IN s_tplst.
MB01 - END
End of changes by ANV SR#11523
IF NOT it_vepo2[] IS INITIAL.
SELECT venum exidv
FROM vekp INTO TABLE it_vepo1
FOR ALL ENTRIES IN it_vepo2
WHERE venum = it_vepo2-venum
AND exidv IN s_exidv.
ENDIF.
SORT it_vepo1 BY venum.
CLEAR: w_vepo, it_vepo.
LOOP AT it_vepo1.
READ TABLE it_vepo2 WITH KEY venum = it_vepo1-venum.
IF sy-subrc = 0.
it_vepo2-exidv = it_vepo1-exidv.
MODIFY it_vepo2 TRANSPORTING exidv
WHERE venum = it_vepo1-venum .
ENDIF.
ENDLOOP.
DELETE it_vepo2 WHERE exidv IS initial.
it_vepo[] = it_vepo2[].
TR03 Replace end
ENDIF.
build process table
PERFORM move_to_table.
ENDFORM. "select_data_down
*& Form select_data_up
select data if selecting from van/pallet up
FORM select_data_up.
IF NOT s_vanno IS INITIAL.
if van then select van numbers and hence pallet numbers
SELECT * FROM zvantr INTO TABLE t_vantr
WHERE zvan_no IN s_vanno.
and vstel eq p_vstel."TR01-
IF NOT t_vantr[] IS INITIAL.
SORT t_vantr BY zvan_id zvan_no vstel zpallet_no. "SUM
SELECT * FROM zpallettr INTO TABLE t_pallettr
FOR ALL ENTRIES IN t_vantr
WHERE zpallet_no EQ t_vantr-zpallet_no
AND zdep_point IN s_deppnt. "Jvdm01
and vstel eq p_vstel."TR01-
ENDIF.
ELSE.
otherwise can get pallet numbers directly
SELECT * FROM zpallettr INTO TABLE t_pallettr
WHERE zpallet_no IN s_palno
AND zdep_point IN s_deppnt. "Jvdm01
and vstel eq p_vstel."TR01-
ENDIF.
IF NOT t_pallettr[] IS INITIAL.
from the pallet nos. we can select the handling units
SORT t_pallettr BY zpallet_id zpallet_no vstel exidv. "SUM
SELECT * FROM vekp INTO TABLE t_vekp
FOR ALL ENTRIES IN t_pallettr
WHERE exidv EQ t_pallettr-exidv
AND exidv NE space
AND exidv IN s_exidv "TR03+
AND ( exida = 'E' "TR01+
OR exida = 'F' ). "TR01+
ENDIF.
SORT t_vekp BY venum. "SUM
IF NOT t_vekp[] IS INITIAL.
build vbeln range from t_vekp.
LOOP AT t_vekp.
r_del-sign = 'I'.
r_del-option = 'EQ'.
r_del-low = t_vekp-vpobjkey.
APPEND r_del.
ENDLOOP.
select all deliveries from LIKP that correspond to HU's
SELECT * FROM likp INTO TABLE t_likp
WHERE vbeln IN r_del
AND wadat IN s_wadat
AND lfart IN s_lfart.
ENDIF.
MB01- START
SELECT vbeln lgtor route wadat
FROM likp INTO TABLE it_likp
WHERE vbeln IN r_del
AND wadat IN s_wadat
AND lfart IN s_lfart.
SELECT vbeln vstel lgtor route wadat
zzroute2lgtor zz2route zzexproute zzroute2 anzpk "MB01-+
FROM likp INTO CORRESPONDING FIELDS OF TABLE it_likp
WHERE vbeln IN r_del
AND lfart IN s_lfart
AND wadat IN s_wadat "MB01-+
AND lfdat IN s_lfdat. "MB01+
MB01- END
ENDIF.
IF NOT it_likp[] IS INITIAL.
SORT it_likp BY vbeln . "SUM
select sales document headers from VBUK
SELECT * FROM vbuk INTO TABLE t_vbuk
FOR ALL ENTRIES IN t_likp
WHERE vbeln EQ t_likp-vbeln.
SELECT vbeln wbstk kostk
FROM vbuk INTO TABLE it_vbuk
FOR ALL ENTRIES IN it_likp
WHERE vbeln EQ it_likp-vbeln.
SORT it_vbuk BY vbeln. "SUM
select all relevant delivery items from LIPS
SELECT * FROM lips INTO TABLE t_lips
FOR ALL ENTRIES IN t_likp
WHERE vbeln EQ t_likp-vbeln
AND pstyv NE 'ZPAC'
AND pstyv NE 'ZGDP' "TR02+
AND lfimg GT 0. "TR01+
SELECT vbeln posnr pstyv matnr charg
FROM lips INTO TABLE it_lips
FOR ALL ENTRIES IN it_likp
WHERE vbeln EQ it_likp-vbeln
AND pckpf NE 'B' "cannot be packed "AS05
AND pstyv NE 'ZPAC' "AS05
AND pstyv NE 'ZGDP' "TR02+ "AS05
AND lfimg GT 0. "TR01+
ENDIF.
IF NOT it_lips[] IS INITIAL.
SORT it_lips BY vbeln posnr. "SUM
select all sales document line items from VBUP
SELECT * FROM vbup INTO TABLE t_vbup
FOR ALL ENTRIES IN t_lips
WHERE vbeln EQ t_lips-vbeln
AND posnr = t_lips-posnr.
Start of changes by ANV SR#11523
MB01 - START
join vttp with vttk to obtain leg indicator
SELECT tknum tpnum vbeln
FROM vttp INTO TABLE it_vttp
FOR ALL ENTRIES IN it_lips
WHERE vbeln = it_lips-vbeln.
SELECT vttptknum vttptpnum vttpvbeln vttklaufk
FROM vttp INNER JOIN vttk
ON vttptknum = vttktknum
INTO TABLE it_vttp
FOR ALL ENTRIES IN it_lips
WHERE vttp~vbeln = it_lips-vbeln
AND vttk~tplst IN s_tplst.
MB01 - END
End of changes by ANV SR#11523
SELECT vbeln posnr lvsta
FROM vbup INTO TABLE it_vbup
FOR ALL ENTRIES IN it_lips
WHERE vbeln EQ it_lips-vbeln
AND posnr = it_lips-posnr.
SORT t_vbup BY vbeln posnr. "SUM
select corresponding handling unit ID's (venum)
SELECT * FROM vepo APPENDING CORRESPONDING FIELDS OF TABLE t_vepo
FOR ALL ENTRIES IN t_lips
WHERE vbeln = t_lips-vbeln
AND posnr = t_lips-posnr
AND matnr = t_lips-matnr
AND charg = t_lips-charg.
SELECT venum vepos vbeln posnr
FROM vepo APPENDING CORRESPONDING FIELDS OF TABLE it_vepo
FOR ALL ENTRIES IN it_lips
WHERE vbeln = it_lips-vbeln
AND posnr = it_lips-posnr
AND matnr = it_lips-matnr
AND charg = it_lips-charg.
*{ INSERT UKMK900355 1
it_vepo2[] = it_vepo[]. " DS01
PERFORM replace_highest_hu. " DS01
it_vepo[] = it_vepo2[]. " DS01
*} INSERT
ENDIF.
build process table
PERFORM move_to_table.
ENDFORM. "select_data_up
*& Form move_to_table
move data to processing table
FORM move_to_table.
LOOP AT it_vepo.
CLEAR t_data_tab.
delivery lines.
CLEAR w_lips.
READ TABLE it_lips WITH KEY vbeln = it_vepo-vbeln
posnr = it_vepo-posnr
INTO w_lips BINARY SEARCH. "SUM
MOVE-CORRESPONDING w_lips TO t_data_tab.
sales document line items
CLEAR w_vbup.
READ TABLE it_vbup WITH KEY vbeln = it_vepo-vbeln
posnr = it_vepo-posnr
INTO w_vbup BINARY SEARCH. "SUM
if w_vbup-kosta = space. "TR01-
not relevant for picking
delete t_vepo. "TR01-
continue. "TR01-
else. "TR01-
MOVE-CORRESPONDING w_vbup TO t_data_tab.
endif. "TR01-
sales doc header
CLEAR w_vbuk.
READ TABLE it_vbuk WITH KEY vbeln = it_vepo-vbeln
INTO w_vbuk BINARY SEARCH. "SUM
MOVE-CORRESPONDING w_vbuk TO t_data_tab.
delivery header
CLEAR w_likp.
READ TABLE it_likp WITH KEY vbeln = it_vepo-vbeln
INTO w_likp BINARY SEARCH. "SUM
MOVE-CORRESPONDING w_likp TO t_data_tab.
MB01 - START
DATA: w_routetype TYPE i. "0=non-global,1=1st route,2=2nd
route,3=both
At this point move DOOR2 if it falls within the global route scenario
and the door2 is satisfies the selection criteria for door
1. Does delivery fall within global route scenario
CLEAR w_routetype.
IF w_likp-zz2route = 'Y' .
1.a. First route - does door1 satisfy the selection criteria
IF w_likp-lgtor IN s_lgtor.
w_routetype = 1.
MOVE w_likp-zzexproute TO t_data_tab-route.
1.b. Second route - does door2 satisfy the selection criteria
ELSEIF w_likp-zzroute2lgtor IN s_lgtor.
here we need to move door2 to lgtor
w_routetype = 2.
MOVE w_likp-zzroute2lgtor TO t_data_tab-lgtor.
MOVE w_likp-zzroute2 TO t_data_tab-route.
ENDIF.
If both routes satsify the criteria, append for 2nd leg ***REVISIT!
IF w_likp-lgtor IN s_lgtor AND w_likp-zzroute2lgtor IN s_lgtor.
w_routetype = 3.
ENDIF.
ENDIF.
MB01 - END
Start of changes by ANV SR#11523
MB01 - If the delivery falls within the global route scenario... need
to select either preliminary shipment leg OR subsequent leg
when laufk= 1 (prelim) and linked to route1, if laufk = 2 (subseq) &
linked to route2
Shipment Number
SORT it_vttp BY vbeln laufk.
CLEAR w_vttp.
CASE w_routetype.
WHEN 0.
READ TABLE it_vttp WITH KEY vbeln = it_vepo-vbeln
INTO w_vttp BINARY SEARCH.
WHEN 1.
READ TABLE it_vttp WITH KEY vbeln = it_vepo-vbeln
laufk = '1'
INTO w_vttp BINARY SEARCH.
WHEN 2.
READ TABLE it_vttp WITH KEY vbeln = it_vepo-vbeln
laufk = '3'
INTO w_vttp BINARY SEARCH.
WHEN 3. "REVISIT
ENDCASE.
MOVE w_vttp-tknum TO t_data_tab-tknum.
MB01 - END
End of changes by ANV SR#11523
select handling unit info using vepo entry
CLEAR w_vekp.
IF t_vekp[] IS INITIAL.
SELECT SINGLE * FROM vekp INTO w_vekp
WHERE venum = it_vepo-venum.
ELSE.
READ TABLE t_vekp WITH KEY venum = it_vepo-venum
INTO w_vekp BINARY SEARCH. "SUM
IF sy-subrc NE 0.
SELECT SINGLE * FROM vekp INTO w_vekp
WHERE venum = t_vepo-venum.
ENDIF.
ENDIF.
MOVE-CORRESPONDING w_vekp TO t_data_tab.
*{ INSERT UKMK900355 2
WM status for HU "AS03
SELECT SINGLE * FROM zhu_to_link WHERE lgnum EQ w_vekp-lgnum"AS03
AND exidv EQ w_vekp-exidv."AS03
IF sy-subrc EQ 0. "AS03
IF zhu_to_link-zpick_comp EQ space. "AS03
t_data_tab-lvsta = 'B'. "AS03
ELSE. "AS03
t_data_tab-lvsta = 'C'. "AS03
ENDIF. "AS03
ENDIF. "AS03
*} INSERT
select pallet / van load information "Jvdm01-
SELECT SINGLE zpallet_no zcount_check FROM zpallettr "Jvdm01-
INTO (t_data_tab-zpallet_no, "Jvdm01-
t_data_tab-zcount_check) "Jvdm01-
WHERE exidv EQ w_vekp-exidv. "Jvdm01-
PERFORM read_pallet. "MB01+
SELECT SINGLE zpallet_no zcount_check zdep_point "Jvdm01+
FROM zpallettr "Jvdm01+
INTO (t_data_tab-zpallet_no, "Jvdm01+
t_data_tab-zcount_check, "Jvdm01+
t_data_tab-zdep_point) "Jvdm01+
WHERE exidv EQ w_vekp-exidv. "Jvdm01+
WHERE exidv EQ w_vekp-exidv "MB01-+
AND zpallet_id = t_data_tab-lgtor."MB01+
MB01 - INSERT START
If pallet number specified and
we are in the global route scenario & both doors fall within the
selection criteria, we need to copy the one that is currently in a
specified pallet
IF NOT s_palno IS INITIAL AND not t_data_tab-zpallet_no in s_palno
AND w_routetype = '3' .
Switch doors & get 2nd shipment
MOVE w_likp-zzroute2lgtor TO t_data_tab-lgtor.
MOVE w_likp-zzroute2 TO t_data_tab-route.
Read subsequent leg shipment
READ TABLE it_vttp WITH KEY vbeln = it_vepo-vbeln
laufk = '3'
INTO w_vttp BINARY SEARCH.
IF sy-subrc = 0.
MOVE w_vttp-tknum TO t_data_tab-tknum.
ENDIF.
PERFORM read_pallet. "MB01+
ENDIF.
MB01 - INSERT END
IF NOT t_data_tab-zpallet_no IN s_palno. "TR01+
CONTINUE. "TR01+
ENDIF. "TR01+
IF sy-subrc = 0. "mb01+
perform read_van. "MB01+
SELECT SINGLE zvan_no zvan_print zeod_print FROM zvantr
INTO (t_data_tab-zvan_no,
t_data_tab-zvan_print,
t_data_tab-zeod_print)
WHERE zpallet_no EQ t_data_tab-zpallet_no.
MB01 - INSERT START
If van number specified and
we are in the global route scenario & both doors fall within the
selection criteria, we need to copy the one that is currently on a
specified van
IF NOT s_vanno IS INITIAL AND not t_data_tab-zvan_no in s_vanno AND
w_routetype = '3' .
Switch doors & get 2nd shipment
MOVE w_likp-zzroute2lgtor TO t_data_tab-lgtor.
MOVE w_likp-zzroute2 TO t_data_tab-route.
Read subsequent leg shipment
READ TABLE it_vttp WITH KEY vbeln = it_vepo-vbeln
laufk = '3'
INTO w_vttp BINARY SEARCH.
IF sy-subrc = 0.
MOVE w_vttp-tknum TO t_data_tab-tknum.
ENDIF.
PERFORM read_pallet. "MB01+
perform read_van.
ENDIF. "mb01-
MB01 - INSERT END
IF NOT t_data_tab-zvan_no IN s_vanno. "TR01+
CONTINUE. "TR01+
ENDIF. "TR01+
ENDIF.
APPEND t_data_tab.
ENDLOOP.
*-----> TR01+ start
If the delivery has yet to be packed, then need to include in report
Thus delete t_lips here and if any entries left after looping through
t_vepo, these will also need to be added to t_data_tab
if the selection is by handling unit though we do not want
these"TR03+
IF s_exidv IS INITIAL. "TR03+
*{ REPLACE UKMK900355 1
*\ LOOP AT it_vepo.
*\ READ TABLE it_lips WITH KEY vbeln = it_vepo-vbeln
*\ posnr = it_vepo-posnr
*\ BINARY SEARCH. "SUM
*\ IF sy-subrc = 0.
*\ DELETE it_lips INDEX sy-tabix.
*\ ENDIF.
*\ ENDLOOP.
Higher-level HUs can contain more than one delivery item " AS01
LOOP AT it_lips. " AS01
READ TABLE t_vepo_low WITH KEY vbeln = it_lips-vbeln " AS01
posnr = it_lips-posnr. " AS01
CHECK sy-subrc EQ 0. " AS01
DELETE it_lips. " AS01
ENDLOOP. " AS01
*} REPLACE
IF NOT it_lips[] IS INITIAL.
move any unpacked items to the data table
PERFORM move_lips_to_table.
ENDIF.
ENDIF. "TR03+
*<---- TR01+ End
get relevant status icons
PERFORM select_icons.
prepare ALV data
PERFORM prepare_alv.
ENDFORM. " select_data
*& Form select_icons
select icons for display and move data to display table
FORM select_icons.
DATA: w_disp_tab LIKE zpickdisp,
w_disp_head LIKE zpickhead,
w_color LIKE zpickdisp-color,
ov_icon LIKE zpickdisp-ov_icon,
gi_icon LIKE zpickdisp-gi_icon,
to_icon LIKE zpickdisp-to_icon,
lp_icon LIKE zpickdisp-lp_icon,
pc_icon LIKE zpickdisp-pc_icon,
lv_icon LIKE zpickdisp-lv_icon,
vm_icon LIKE zpickdisp-vm_icon,
em_icon LIKE zpickdisp-em_icon,
sp_icon LIKE zpickdisp-sp_icon, " ANV SR#11523
t_ovst_tab LIKE t_disp_tab WITH HEADER LINE.
CONSTANTS: c_col1(3) VALUE 'C10',
c_col2(3) VALUE 'C20'.
SORT t_data_tab BY lgtor vbeln.
w_color = c_col2.
LOOP AT t_data_tab.
AT NEW lgtor.
fill ALV header table
CLEAR w_disp_head.
w_disp_head-lgtor = t_data_tab-lgtor.
APPEND w_disp_head TO t_disp_head.
ENDAT.
goods issue status & overall amber/green only
CASE t_data_tab-wbstk.
WHEN c_c.
MOVE icon_green_light TO gi_icon.
MOVE icon_green_light TO ov_icon.
WHEN OTHERS.
MOVE icon_red_light TO gi_icon.
MOVE icon_yellow_light TO ov_icon.
ENDCASE.
transfer order status
CASE t_data_tab-lvsta.
WHEN c_a.
MOVE icon_red_light TO to_icon.
WHEN c_b.
MOVE icon_yellow_light TO to_icon.
WHEN c_c.
MOVE icon_green_light TO to_icon.
WHEN space.
write N/A
to_icon = 'N/A'.
ENDCASE.
loaded to pallet status
IF NOT t_data_tab-zpallet_no IS INITIAL.
MOVE icon_green_light TO lp_icon.
ELSE.
MOVE icon_red_light TO lp_icon.
ENDIF.
pallet count status
IF NOT t_data_tab-zcount_check IS INITIAL.
MOVE icon_green_light TO pc_icon.
ELSE.
MOVE icon_red_light TO pc_icon.
ENDIF.
loaded to van status
IF NOT t_data_tab-zvan_no IS INITIAL.
MOVE icon_green_light TO lv_icon.
ELSE.
MOVE icon_red_light TO lv_icon.
ENDIF.
van manifest status
IF NOT t_data_tab-zvan_print IS INITIAL.
MOVE icon_green_light TO vm_icon.
ELSE.
MOVE icon_red_light TO vm_icon.
ENDIF.
Start of changes by ANV SR#11523
Shipment status
IF NOT t_data_tab-tknum IS INITIAL.
MOVE icon_green_light TO sp_icon.
ELSE.
MOVE icon_red_light TO sp_icon.
ENDIF.
End of changes by ANV SR#11523
end of day manifest status
IF NOT t_data_tab-zeod_print IS INITIAL.
MOVE icon_green_light TO em_icon.
ELSE.
MOVE icon_red_light TO em_icon.
ENDIF.
move working data table to display table
MOVE-CORRESPONDING t_data_tab TO w_disp_tab.
w_disp_tab-ov_icon = ov_icon.
w_disp_tab-gi_icon = gi_icon.
w_disp_tab-to_icon = to_icon.
w_disp_tab-lp_icon = lp_icon.
w_disp_tab-pc_icon = pc_icon.
w_disp_tab-lv_icon = lv_icon.
w_disp_tab-vm_icon = vm_icon.
w_disp_tab-em_icon = em_icon.
w_disp_tab-sp_icon = sp_icon. "ANV SR#11523
w_disp_tab-color = w_color.
fill N/A values for initial fields for display
IF w_disp_tab-packvorschr IS INITIAL.
w_disp_tab-packvorschr = 'N/A'.
ENDIF.
IF w_disp_tab-exidv IS INITIAL.
w_disp_tab-exidv = 'N/A'.
ENDIF.
IF w_disp_tab-zpallet_no IS INITIAL.
WRITE 'N/A' TO w_disp_tab-zpallet_no.
ENDIF.
IF w_disp_tab-zvan_no IS INITIAL.
WRITE 'N/A' TO w_disp_tab-zvan_no.
ENDIF.
display different color for new doc number
AT END OF vbeln.
IF w_color = c_col1.
w_color = c_col2.
ELSEIF w_color = c_col2.
w_color = c_col1.
ENDIF.
ENDAT.
APPEND w_disp_tab TO t_disp_tab.
CLEAR w_disp_tab.
ENDLOOP.
we have all the icons in display but need to check the overall status
as this refers to the line items
green and amber statuses already set and use the same criteria as the
goods issue status unless detected as red here
DATA: ov_stat_red(1).
CLEAR w_disp_tab.
SORT t_disp_tab BY vbeln.
LOOP AT t_disp_tab INTO w_disp_tab.
AT NEW vbeln.
check all line items for delivery
LOOP AT t_data_tab WHERE vbeln = w_disp_tab-vbeln.
IF t_data_tab-lvsta = c_a.
set overall status to red
ov_stat_red = c_yes.
EXIT.
ELSE.
leave green/amber status icon as previosly determined
ENDIF.
ENDLOOP.
IF ov_stat_red = c_yes.
set overall status to red for all items in that delivery
CLEAR ov_stat_red.
MOVE icon_red_light TO w_disp_tab-ov_icon.
MODIFY t_disp_tab FROM w_disp_tab TRANSPORTING ov_icon
WHERE vbeln = w_disp_tab-vbeln.
ENDIF.
ENDAT.
ENDLOOP.
ENDFORM. " select_icons
*& Form fill_layout
fill ALV layout parameters
FORM fill_layout.
CLEAR g_layout.
g_layout-colwidth_optimize = c_yes. " column width optimisation
g_layout-zebra = space. " alternate line colors
g_layout-box_fieldname = 'MARK'. " checkbox fieldname
g_layout-info_fieldname = 'COLOR'. " highlight row indicator
g_layout-no_vline = space. " vertical line
g_layout-key_hotspot = space. " hotspot field
g_layout-f2code = 'PICK'. " F2 ok_code
g_layout-numc_sum = c_yes. " sum numc fields
g_layout-box_tabname = 't_disp_head'. " checkbox table name
g_layout-expand_fieldname = 'EXPAND'. " expand field name
ENDFORM. " fill_layout
*& Form fill_sort
fill ALV sort table
FORM fill_sort.
DATA: w_g_sort TYPE slis_sortinfo_alv.
w_g_sort-spos = 1.
w_g_sort-fieldname = 'LGTOR'.
w_g_sort-tabname = 't_disp_tab'.
w_g_sort-up = c_yes.
APPEND w_g_sort TO g_sort.
w_g_sort-spos = 2.
w_g_sort-fieldname = 'VBELN'.
w_g_sort-tabname = 't_disp_tab'.
w_g_sort-up = c_yes.
APPEND w_g_sort TO g_sort.
w_g_sort-spos = 3.
w_g_sort-fieldname = 'POSNR'.
w_g_sort-tabname = 't_disp_tab'.
w_g_sort-up = c_yes.
APPEND w_g_sort TO g_sort. -
ALV Display for Quantity Field
Hi All,
I am working on ALV classes.
I have a quantity field which needs to be displayed without decimals.
When I declare the data type as type p decimals 0,It is displayed correctly but when I change the field with a value using the method handle_data_changed it gives a value multiplied by 10 always. i.e., when the new value is 5 it gives the value as 50.
I tried referencing the Unit value but it doesn't work.
Any views on suppressing the decimal values without getting the value multiplied by 10 is highly appreciated.
Thank you in advance.
Regards,
K.S.Hello Kandasamy,
Change the reference field that points to the ALV display field to a non decimal field and then use the Integer variable assignment for removing the decimals during teh BAPi or database fetch.
Hope this answers your question.
Thanks,
Greetson -
Need help choosing processor and display for X240 please
I'm about to purchase an X240 today or tomorrow and, after doing multiple forum searches and reading a 67-page X240 thread elsewhere, I would really appreciate some help choosing a processor and a display. If it makes a difference, I've decided on:
*Windows 7 Pro 64 bit
*8GB of RAM
*256GB SSD
I intend to use the laptop for viewing/editing Word documents and Powerpoint presentations, streaming movies, and streaming recorded lectures. I'm not sure what lecture viewer/player my school uses yet, but I do know that it has options to play the lectures at accelerated speeds (1.5x, 2x, etc.) and that I will definitely need to use this feature. I'm not computer literate enough to discern whether the processor type has any effect on this. I will use an external drive if I need to download and save any lectures. I also plan to do some infrequent and basic photo editing with Windows Photo Gallery and MS Paint. I'm willing to pay extra for a smoother/faster experience, but I don't want to go with the i7 processor if it's overkill for my purposes or if there are other significant trade-offs besides price.
As for display, I'm torn between the regular HD (1366x768) IPS Non-touch, regular HD IPS Touch, and FHD IPS Touch. Re: HD vs FHD, I've been using a 1280x800 13.3" non-IPS display for the last 6 or 7 years, and I'm pretty happy with it except for the limited viewing angles. Wouldn't regular HD on a 12.5" screen be a step up in resolution? A lot of the reviews of the regular HD on the X240 express disappointment with the "low" resolution, but I don't know if it's really that bad, or if people just have much higher expectations/standards than I do. I'm leaning towards regular HD because my glasses are so strong that increasing the sharpness of what I see also has the side effect of making things appear smaller (minimization error), so I'd probably have to mess with text/DPI scaling if I went with FHD, which isn't a perfect solution from what I've read. I'd only consider getting a touch version if I need FHD (since it doesn't come in non-touch), or if it somehow makes the HD display sharper or more vibrant--I have no intention of actually using touch features.
Apologies for the length, and thanks in advance for any advice! :-)Actually I have been doing further research and I personally would either go with the 2.6GHz NON RETINA MBP or cough up the cash and go all out on a 2.6GHz RETINA MBP and upgrade the RAM to 16GB and upgrade to 768GB Flash storage, I am a student as well so will get a discount which will help.
My fears are that if I get the Retina model I will not be able to upgrade it even further, I want to keep the computer for at least a good 5 years, during those 5 to 8 years will the current upgrades be enough to keep up with the top games and programs etc? Also I have read that repairing the Retina display model is very diffcult and it can malfunction commonly, so I am guessing I should get apple care on top of it just to be sure with this particular model?
I am assuming that they they will bring out the new models out next year and all the chinks and bugs of the current Retina model will be fixed so to speak, of which I have read there is a few... Would it be worth buying the NON RETINA MBP and then selling and upgrading to an improved RETINA MBP model next year?
Finally if i back up my files on a hardrive would I have to use the USP SUPER DRIVE to install files onto the RETINA MBP or can i directly do this without the USP SUPERDRIVE?
Thanks -
Hello Experts,
I am using SUBMIT Program to execute a standard T-code (F.80).
SUBMIT sapf080 WITH SELECTION-TABLE rspar
AND RETURN.
When I execute the program in background and compare it with F.80 and execute it in background too, spool layout for both are different.
For F.80, It is more detailed with every info like doc number, company code and fiscal year with messages, but for my program only messages are displayed in the spool which is getting unconvinient as I don't know for which document number that message was generated.
Can you please suggest why am I getting 2 different spool layouts for the same program executed in 2 different ways.
Thanks,
Ankit KhannaHello,
Thanks for your replies.
I have added a list option along with SUBMIT statement to get similar spool layouts.
Below piece of code will solve the issue.
DATA list_tab TYPE TABLE OF abaplist.
SUBMIT sapf080 WITH SELECTION-TABLE rspar EXPORTING LIST TO MEMORY
AND RETURN.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = list_tab
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc = 0.
CALL FUNCTION 'WRITE_LIST'
TABLES
listobject = list_tab.
ENDIF. -
Query for copying standard program in ECC 6.0
Hi,
My problem is when i copy a standard program to my Z program in ECC and then try making some changes there it says new enhancement point will be created (specific to top include in function module).Kindly suggest what action needs to be taken for above problem.Hi,
Please find the Standard workflow list in this link...
http://help.sap.com/saphelp_erp2005vp/helpdata/en/04/926f8546f311d189470000e829fbbd/frameset.htm
Regards,
<i><b>Raja Sekhar</b></i> -
Alv display for the 2nd time.
Hi everybody
I have created a interactive alv report. when i am going for first display it is giving correct result whne i go for 2nd time it is not initilizing the grids the records are displayed twice or same record is displayed. i have check BCALV_GRID_03 but i could not understand it properly so i am giving my code please help.
*& Report ZVTEST1 *
REPORT ZVTEST1 .
class lcl_event_receiver definition deferred.
class cl_event_receiver definition deferred.
TYPE-POOLS : SLIS.
tables : ekko,ekpo,lfa1.
data : begin of itab occurs 0,
lifnr like ekko-lifnr,
netwr like ekpo-netwr,
name1 like lfa1-name1,
end of itab.
data : begin of inv_det occurs 0,
ebeln like ekko-ebeln,
bedat like ekko-bedat,
lifnr like ekko-lifnr,
netwr like ekpo-netwr,
name1 like lfa1-name1,
end of inv_det.
data : begin of mat_det occurs 0,
ebeln like ekko-ebeln,
lifnr like ekko-lifnr,
bedat like ekko-bedat,
matnr like ekpo-matnr,
menge like ekpo-menge,
netpr like ekpo-netpr,
NETWR LIKE EKPO-NETWR,
maktx like makt-maktx,
end of mat_det.
DATA :TEST_GRID TYPE REF TO CL_GUI_ALV_GRID,
TEST_CONT TYPE SCRFNAME VALUE 'TESTING_ALV',
TEST_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
TEST_LAYOUT TYPE LVC_S_LAYO,
TEST_FIELDCAT TYPE LVC_T_FCAT,
ok_code like sy-ucomm,
event_receiver type ref to lcl_event_receiver,
event_receiver1 type ref to cl_event_receiver,
TEST_GRID1 TYPE REF TO CL_GUI_ALV_GRID,
TEST_CONT1 TYPE SCRFNAME VALUE 'PARTYWISE_DETAILS',
TEST_CONTAINER1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
ls_layout TYPE lvc_s_layo,
TEST_LAYOUT1 TYPE LVC_S_LAYO,
TEST_FIELDCAT1 TYPE LVC_T_FCAT,
TEST_GRID2 TYPE REF TO CL_GUI_ALV_GRID,
TEST_CONT2 TYPE SCRFNAME VALUE 'INVOICE',
TEST_CONTAINER2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
TEST_LAYOUT2 TYPE LVC_S_LAYO,
TEST_FIELDCAT2 TYPE LVC_T_FCAT.
select-options: s_bedat for ekko-bedat.
CALL SCREEN 100.
class LCL_EVENT_RECEIVER definition.
public section.
methods:
handle_double_click
for event double_click of cl_gui_alv_grid
importing e_row e_column.
private section.
endclass.
class LCL_EVENT_RECEIVER implementation.
method handle_double_click.
data: itab1 like line of itab.
read table itab index e_row-index into itab1.
perform select_table_invdet using itab1
changing inv_det.
call screen 200 starting at 10 5.
endmethod.
endclass.
class CL_EVENT_RECEIVER definition.
public section.
methods:
handle_hotspot_click
for event hotspot_click of cl_gui_alv_grid
importing e_row_id e_column_id es_row_no.
private section.
endclass.
class CL_EVENT_RECEIVER implementation.
method handle_hotspot_click.
data: itab2 like line of inv_det.
read table inv_det index e_row_id-index into itab2.
perform select_matdet using itab2
changing mat_det.
call screen 300 starting at 15 5.
endmethod.
endclass.
*& Module STATUS_0100 OUTPUT
text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'TEST'.
PERFORM SELECT-DATA. " FOR THE INITIAL LIST.
PERFORM ALV_DISPLAY. "TO DISPLAY INITIAL SCREEN.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
CASE OK_CODE.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form SELECT-DATA
text
--> p1 text DATA SELECTION FOR THE 1ST LIST
<-- p2 text
FORM SELECT-DATA .
select alifnr sum( bnetwr ) as netwr
into corresponding fields of itab
from ekko as a inner join ekpo as b on bebeln = aebeln
where abedat in s_bedat group by alifnr.
select single name1 from lfa1 into itab-name1
where lifnr = itab-lifnr.
append itab.
endselect.
ENDFORM. " SELECT-DATA
*& Form ALV_DISPLAY
text
--> p1 text DISPLAY THE LIST FIRST TIME.
<-- p2 text
FORM ALV_DISPLAY .
IF TEST_GRID IS INITIAL.
CREATE OBJECT TEST_CONTAINER
EXPORTING
CONTAINER_NAME = 'TESTING_ALV'.
CREATE OBJECT TEST_GRID
EXPORTING
I_PARENT = TEST_CONTAINER.
PERFORM PROC_CATALOG CHANGING TEST_FIELDCAT.
PERFORM PROC_LAYOUT CHANGING TEST_LAYOUT.
CALL METHOD TEST_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_LAYOUT = TEST_LAYOUT
CHANGING
IT_OUTTAB = ITAB[]
IT_FIELDCATALOG = TEST_FIELDCAT[].
create object EVENT_RECEIVER.
set handler EVENT_RECEIVER->handle_double_click for TEST_GRID.
ENDIF.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = TEST_CONTAINER.
CALL METHOD CL_GUI_CFW=>FLUSH.
ENDFORM. " ALV_DISPLAY
*& Form PROC_CATALOG
text
<--P_TEST_FIELDCAT text
FORM PROC_CATALOG CHANGING P_TEST_FIELDCAT type lvc_t_fcat.
data: TEST_fieldcat type lvc_s_fcat.
TEST_FIELDCAT-fieldname = 'LIFNR'.
TEST_FIELDCAT-REF_TABLE = 'LFA1'.
TEST_FIELDCAT-OUTPUTLEN = '12'.
TEST_FIELDCAT-coltext = 'VENDOR CODE'.
TEST_FIELDCAT-SELTEXT = 'VENDOR CODE'.
*TEST_FIELDCAT-HOTSPOT = 'X'.
APPEND TEST_FIELDCAT TO P_TEST_FIElDCAT.
CLEAR TEST_FIELDCAT.
TEST_FIELDCAT-fieldname = 'NAME1'.
TEST_FIELDCAT-REF_TABLE = 'LFA1'.
TEST_FIELDCAT-OUTPUTLEN = '25'.
TEST_FIELDCAT-coltext = 'VENDOR NAME'.
TEST_FIELDCAT-SELTEXT = 'VENDOR NAME'.
APPEND TEST_FIELDCAT TO P_TEST_FIElDCAT.
CLEAR TEST_FIELDCAT.
TEST_FIELDCAT-fieldname = 'NETWR'.
TEST_FIELDCAT-REF_TABLE = 'EKPO'.
TEST_FIELDCAT-OUTPUTLEN = '20'.
TEST_FIELDCAT-coltext = 'PURCHASE AMOUNT'.
APPEND TEST_FIELDCAT TO P_TEST_FIElDCAT.
CLEAR TEST_FIELDCAT.
ENDFORM. " PROC_CATALOG
*& Form PROC_LAYOUT
text
<--P_TEST_LAYOUT text
FORM PROC_LAYOUT CHANGING P_TEST_LAYOUT type lvc_s_layo.
p_TEST_layout-zebra = 'X'.
p_TEST_layouT-grid_title = 'TEST INTERACTIVE ALV'.
p_TEST_layout-smalltitle = 'X'.
p_TEST_layout-no_hgridln = 'X'.
p_TEST_layout-excp_conds = 'X'.
p_TEST_layout-numc_total = 'X'.
ENDFORM. " PROC_LAYOUT
*& Form select_table_invdet
text
-->P_ITAB1 DATA SELECTION FOR THE 2ND LIST
<--P_INV_DET text
FORM select_table_invdet USING P_ITAB1 like line of itab
CHANGING P_INV_DET.
clear inv_det.
select alifnr aebeln abedat sum( bnetwr ) as netwr
into corresponding fields of inv_det
from ekko as a inner join ekpo as b on bebeln = aebeln
where alifnr = p_itab1-lifnr and abedat in s_bedat group by
alifnr aebeln a~bedat.
select single name1 from lfa1 into inv_det-name1
where lifnr = inv_det-lifnr.
append INV_DET.
endselect.
ENDFORM. " select_table_invdet
*& Module STATUS_0200 OUTPUT
text
MODULE STATUS_0200 OUTPUT.
IF TEST_GRID1 IS INITIAL.
CREATE OBJECT TEST_CONTAINER1
EXPORTING
CONTAINER_NAME = 'NEXT_CONT'.
IF SY-SUBRC NE 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
TITEL = SY-REPID
TXT1 = SY-SUBRC
TXT2 = 'THE CONTROL IS NOT CREATED'.
ENDIF.
CREATE OBJECT TEST_GRID1
EXPORTING
I_PARENT = TEST_CONTAINER1.
PERFORM PROC_CATALOG1 CHANGING TEST_FIELDCAT1.
PERFORM PROC_LAYOUT1 CHANGING TEST_LAYOUT1.
CALL METHOD TEST_GRID1->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_LAYOUT = test_layout1
CHANGING
IT_OUTTAB = inv_det[]
IT_FIELDCATALOG = TEST_FIELDCAT1[].
create object EVENT_RECEIVER1.
set handler EVENT_RECEIVER1->handle_hotspot_click for TEST_GRID1.
ELSE.
CALL METHOD TEST_GRID1->REFRESH_TABLE_DISPLAY.
ENDIF.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = TEST_container1.
CALL METHOD CL_GUI_CFW=>FLUSH.
ENDMODULE. " STATUS_0200 OUTPUT
*& Module USER_COMMAND_0200 INPUT
text
MODULE USER_COMMAND_0200 INPUT.
case ok_code.
when 'EXIT'.
leave to screen 0.
endcase.
clear ok_code.
ENDMODULE. " USER_COMMAND_0200 INPUT
*& Form PROC_CATALOG1
text
<--P_TEST_FIELDCAT1 text
FORM PROC_CATALOG1 CHANGING P_TEST_FIELDCAT1 type lvc_t_fcat.
data: TEST_fieldcat1 type lvc_s_fcat.
TEST_FIELDCAT1-fieldname = 'EBELN'.
TEST_FIELDCAT1-REF_TABLE = 'EKKO'.
TEST_FIELDCAT1-OUTPUTLEN = '12'.
TEST_FIELDCAT1-coltext = 'P.O NUMBER'.
TEST_FIELDCAT1-SELTEXT = 'P.O NUMBAR'.
TEST_FIELDCAT1-HOTSPOT = 'X'.
APPEND TEST_FIELDCAT1 TO P_TEST_FIElDCAT1.
CLEAR TEST_FIELDCAT1.
TEST_FIELDCAT1-fieldname = 'BEDAT'.
TEST_FIELDCAT1-REF_TABLE = 'EKKO'.
TEST_FIELDCAT1-OUTPUTLEN = '10'.
TEST_FIELDCAT1-coltext = 'P.O.DATE'.
TEST_FIELDCAT1-SELTEXT = 'P.O.DATE'.
APPEND TEST_FIELDCAT1 TO P_TEST_FIElDCAT1.
CLEAR TEST_FIELDCAT1.
TEST_FIELDCAT1-fieldname = 'NETWR'.
TEST_FIELDCAT1-REF_TABLE = 'EKPO'.
TEST_FIELDCAT1-OUTPUTLEN = '20'.
TEST_FIELDCAT1-coltext = 'PURCHASE AMOUNT'.
APPEND TEST_FIELDCAT1 TO P_TEST_FIElDCAT1.
CLEAR TEST_FIELDCAT1.
ENDFORM. " PROC_CATALOG1
*& Form PROC_LAYOUT1
text
<--P_TEST_LAYOUT1 text
FORM PROC_LAYOUT1 CHANGING P_TEST_LAYOUT1 type lvc_s_layo.
p_TEST_layout1-zebra = 'X'.
p_TEST_layouT1-grid_title = 'DATE WISE PURCHASE ORDERS'.
p_TEST_layout1-smalltitle = 'X'.
p_TEST_layout1-no_hgridln = 'X'.
p_TEST_layout1-excp_conds = 'X'.
p_TEST_layout1-numc_total = 'X'.
ENDFORM. " PROC_LAYOUT1
*& Form select_matdet
text
-->P_ITAB2 text
<--P_MAT_DET text
FORM select_matdet USING P_ITAB2 like line of inv_det
CHANGING P_MAT_DET.
select ebeln bedat lifnr from ekko into corresponding fields of mat_det
where ebeln = p_itab2-ebeln and bedat = p_itab2-bedat
and lifnr = p_itab2-lifnr..
select matnr menge netpr NETWR from ekpo
into corresponding fields of mat_det
where ebeln = mat_det-ebeln.
select single maktx from makt into corresponding fields of mat_det
where matnr = mat_det-matnr.
append mat_DET.
endselect.
endselect.
ENDFORM. " select_matdet
*& Module STATUS_0300 OUTPUT
text
MODULE STATUS_0300 OUTPUT.
set pf-status 'TEST1'.
IF TEST_GRID2 IS INITIAL.
CREATE OBJECT TEST_CONTAINER2
EXPORTING
CONTAINER_NAME = 'INVOICE_DETAILS'.
IF SY-SUBRC NE 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
TITEL = SY-REPID
TXT1 = SY-SUBRC
TXT2 = 'THE CONTROL IS NOT CREATED'.
ENDIF.
CREATE OBJECT TEST_GRID2
EXPORTING
I_PARENT = TEST_CONTAINER2.
PERFORM PROC_CATALOG2 CHANGING TEST_FIELDCAT2.
PERFORM PROC_LAYOUT2 CHANGING TEST_LAYOUT2.
CALL METHOD TEST_GRID2->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_LAYOUT = test_layout2
CHANGING
IT_OUTTAB = mat_det[]
IT_FIELDCATALOG = test_fieldcat2[].
else.
CALL METHOD TEST_GRID2->GET_FRONTEND_LAYOUT
IMPORTING
ES_LAYOUT = ls_layout.
CALL METHOD TEST_GRID2->SET_FRONTEND_LAYOUT
EXPORTING
IS_LAYOUT = ls_layout.
ENDIF.
CALL METHOD CL_GUI_CONTROL=>SET_FOCUS
EXPORTING
CONTROL = test_container2.
CALL METHOD CL_GUI_CFW=>FLUSH.
IF SY-SUBRC NE 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
TITEL = SY-REPID
TXT1 = SY-SUBRC
TXT2 = 'ERROR IN FLUSH'.
ENDIF.
ENDMODULE. " STATUS_0300 OUTPUT
*& Module USER_COMMAND_0300 INPUT
text
MODULE USER_COMMAND_0300 INPUT.
case ok_code.
when 'BACK'.
leave to screen 0.
WHEN 'CANCLE'.
LEAVE PROGRAM.
endcase.
clear ok_code.
ENDMODULE. " USER_COMMAND_0300 INPUT
*& Form PROC_CATALOG2
text
<--P_TEST_FIELDCAT2 text
FORM PROC_CATALOG2 CHANGING P_TEST_FIELDCAT2 TYPE LVC_T_FCAT.
data: TEST_fieldcat2 type lvc_s_fcat.
TEST_FIELDCAT2-fieldname = 'MATNR'.
TEST_FIELDCAT2-REF_TABLE = 'EKPO'.
TEST_FIELDCAT2-OUTPUTLEN = '12'.
TEST_FIELDCAT2-coltext = 'MATERIAL NO'.
TEST_FIELDCAT2-SELTEXT = 'MATERIAL NO'.
*TEST_FIELDCAT1-HOTSPOT = 'X'.
APPEND TEST_FIELDCAT2 TO P_TEST_FIElDCAT2.
CLEAR TEST_FIELDCAT2.
TEST_FIELDCAT2-fieldname = 'MAKTX'.
TEST_FIELDCAT2-REF_TABLE = 'MAKT'.
TEST_FIELDCAT2-OUTPUTLEN = '30'.
TEST_FIELDCAT2-coltext = 'DESCRIPTION'.
TEST_FIELDCAT2-SELTEXT = 'DESCRIPTION'.
APPEND TEST_FIELDCAT2 TO P_TEST_FIElDCAT2.
CLEAR TEST_FIELDCAT2.
TEST_FIELDCAT2-fieldname = 'MENGE'.
TEST_FIELDCAT2-REF_TABLE = 'EKPO'.
TEST_FIELDCAT2-OUTPUTLEN = '10'.
TEST_FIELDCAT2-coltext = 'QUANTITY'.
TEST_FIELDCAT2-SELTEXT = 'QUANTITY'.
APPEND TEST_FIELDCAT2 TO P_TEST_FIElDCAT2.
CLEAR TEST_FIELDCAT2.
TEST_FIELDCAT2-fieldname = 'NETPR'.
TEST_FIELDCAT2-REF_TABLE = 'EKPO'.
TEST_FIELDCAT2-OUTPUTLEN = '20'.
TEST_FIELDCAT2-coltext = 'PURCHASE AMOUNT'.
APPEND TEST_FIELDCAT2 TO P_TEST_FIElDCAT2.
CLEAR TEST_FIELDCAT2.
TEST_FIELDCAT2-fieldname = 'NETWR'.
TEST_FIELDCAT2-REF_TABLE = 'EKPO'.
TEST_FIELDCAT2-OUTPUTLEN = '20'.
TEST_FIELDCAT2-coltext = 'PURCHASE AMOUNT'.
APPEND TEST_FIELDCAT2 TO P_TEST_FIElDCAT2.
CLEAR TEST_FIELDCAT2.
ENDFORM. " PROC_CATALOG2
*& Form PROC_LAYOUT2
text
<--P_TEST_LAYOUT2 text
FORM PROC_LAYOUT2 CHANGING P_TEST_LAYOUT2 type lvc_s_layo.
p_TEST_layout2-zebra = 'X'.
p_TEST_layouT2-grid_title = 'PURCHASE ORDERS MATERIAL WISE DETAILS'.
p_TEST_layout2-smalltitle = 'X'.
p_TEST_layout2-no_hgridln = 'X'.
p_TEST_layout2-excp_conds = 'X'.
p_TEST_layout2-numc_total = 'X'.
ENDFORM. " PROC_LAYOUT2
thanks
Vinayak.Vinayak,
Add the Code(ELSE part) into the Form ALV_DISPLAY.
IF TEST_GRID IS INITIAL.
CREATE OBJECT TEST_CONTAINER
EXPORTING
CONTAINER_NAME = 'TESTING_ALV'.
CREATE OBJECT TEST_GRID
EXPORTING
I_PARENT = TEST_CONTAINER.
PERFORM PROC_CATALOG CHANGING TEST_FIELDCAT.
PERFORM PROC_LAYOUT CHANGING TEST_LAYOUT.
CALL METHOD TEST_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_LAYOUT = TEST_LAYOUT
CHANGING
IT_OUTTAB = ITAB[]
IT_FIELDCATALOG = TEST_FIELDCAT[].
create object EVENT_RECEIVER.
set handler EVENT_RECEIVER->handle_double_click
for TEST_GRID.
<b>ELSE.
CALL METHOD TEST_GRID->REFRESH_TABLE_DISPLAY(
"EXPORTING
"IS_STABLE =
"I_SOFT_REFRESH=
).</b>
ENDIF.
Thanks
Kam
Note: Allot points for all worthful postings -
ALV Display for Item & Sub-Item Level
Hi Experts,
i am developing one report and i want the display it in ALV as shown below.
Item Level:
Tax Jurisdiction state current balance prior balance
3900000 LA 10000 15000
Sub-Item Level:
Jurisdiction Cd. Posting Date Type Doc. no. Amount
3902948101 05/03/2008 AR 139 30,998.00
3902948102 05/06/2008 AR 176 -56,987.00
3902948123 05/11/2008 178 -20,987.50
3902948190 05/20/2008 AP 189 76,000.00
3902948108 05/22/2008 GL 192 45,060.50
Account Total 74,164.00
How can i achieve this for displaying Item Level And Sub-Item Level.
Thanks & Regards,
Ramana.hi,
Plz refer this link for displaying hierarchical list in ALV.
http://voiceofabap.blogspot.com/2008/05/how-to-use-alv-for-hierarchical-lists.html
regards
Sumit Agarwal -
Need information regarding Hierarchical ALV display
How to total sub items in an Heirarchical ALV List display?
Hi,
I have one Hierarchical alv example .. please see it. Also check B*ALV in se38.
*& Report ZLAXMI_ALVEXER4 *
REPORT ZLAXMI_ALVEXER4 MESSAGE-ID ZZ .
*& TABLES DECLARATION *
TABLES: VBAK, VBAP.
*& TYPE POOLS DECLARATION *
TYPE-POOLS: SLIS.
DATA DECLARATIONS *
DATA: V_FLAG TYPE C. "Flag to display the header
DATA: V_REPID TYPE SY-REPID.
*& INTERNAL TABLE DECLARATION *
DATA: BEGIN OF IT_VBAK OCCURS 0,
VBELN LIKE VBAK-VBELN,
AUDAT LIKE VBAK-AUDAT,
AUART LIKE VBAK-AUART,
NETWR LIKE VBAK-NETWR,
EXPAND(1),
END OF IT_VBAK.
DATA: BEGIN OF IT_VBAP OCCURS 0,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
MATNR LIKE VBAP-MATNR,
PSTYV LIKE VBAP-PSTYV,
CHARG LIKE VBAP-CHARG,
END OF IT_VBAP.
DATA: IT_FLDCAT TYPE SLIS_T_FIELDCAT_ALV,
IT_FLDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
*events
IT_EVENTS TYPE SLIS_T_EVENT WITH HEADER LINE,
V_CALL TYPE C,
X_USER TYPE SLIS_EXIT_BY_USER,
IT_VARIANT LIKE DISVARIANT OCCURS 0 WITH HEADER LINE,
X_KEYINFO TYPE SLIS_KEYINFO_ALV,
*layout
X_LAYOUT TYPE SLIS_LAYOUT_ALV,
*sort
IT_SORT TYPE SLIS_T_SORTINFO_ALV,
WA_SORT LIKE LINE OF IT_SORT,
X_CAT TYPE SLIS_FIELDCAT_ALV,
V_TABIX LIKE SY-TABIX.
Selection screen Declaration
*--BLOCK1
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,
S_AUART FOR VBAK-AUART.
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN *
*- Validations
AT SELECTION-SCREEN.
PERFORM VALIDATE_SCREEN.
START OF SELECTION *
START-OF-SELECTION.
*- To get data from VBAK
PERFORM GET_DATA.
*to get data from VBAP
PERFORM GET_DATA_VBAP.
PERFORM PREPARE_ALV.
END OF SELECTION *
END-OF-SELECTION.
PERFORM DISPLAY_REPORT.
*& Form VALIDATE_SCREEN
text
--> p1 text
<-- p2 text
FORM VALIDATE_SCREEN .
DATA: LV_VBELN LIKE VBAK-VBELN,
LV_AUART LIKE VBAK-AUART.
IF NOT S_VBELN[] IS INITIAL.
SELECT VBELN
INTO LV_VBELN
FROM VBAK
WHERE VBELN IN S_VBELN.
ENDSELECT.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'INVALID SALES DOC'(002).
ENDIF.
ENDIF.
IF NOT S_AUART[] IS INITIAL.
SELECT AUART
INTO LV_AUART
FROM VBAK
WHERE AUART IN S_AUART.
ENDSELECT.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'INVALID SALES DOC TYPE'(003).
ENDIF.
ENDIF.
ENDFORM. " VALIDATE_SCREEN
*& Form GET_DATA
text
--> p1 text
<-- p2 text
FORM GET_DATA .
SELECT VBELN
AUDAT
AUART
NETWR
FROM VBAK
INTO TABLE IT_VBAK
WHERE VBELN IN S_VBELN
AND AUART IN S_AUART.
IF SY-SUBRC = 0.
SORT IT_VBAK BY VBELN.
ENDIF.
ENDFORM. " GET_DATA
*& Form GET_DATA_VBAP
text
--> p1 text
<-- p2 text
FORM GET_DATA_VBAP .
SELECT VBELN
POSNR
MATNR
PSTYV
CHARG
INTO TABLE IT_VBAP
FROM VBAP
FOR ALL ENTRIES IN IT_VBAK
WHERE VBELN = IT_VBAK-VBELN.
IF SY-SUBRC = 0.
SORT IT_VBAP BY VBELN POSNR.
ENDIF.
ENDFORM. " GET_DATA_VBAP
*& Form prepare_alv
text
--> p1 text
<-- p2 text
FORM PREPARE_ALV .
Prepare field catalog .
PERFORM PREPARE_CATALOG.
Modify catalog
PERFORM CHANGE_ATTR_OF_CATALOG.
Modify Layout
PERFORM MODIFY_LAYOUT.
Sort Catalog
PERFORM SORT_CATALOG.
ENDFORM. " prepare_alv
*& Form prepare_catalog
text
--> p1 text
<-- p2 text
FORM PREPARE_CATALOG .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'IT_VBAK'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = IT_FLDCAT1[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
APPEND LINES OF IT_FLDCAT1 TO IT_FLDCAT.
CLEAR: IT_FLDCAT1[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'IT_VBAP'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = IT_FLDCAT1[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
APPEND LINES OF IT_FLDCAT1 TO IT_FLDCAT.
ENDFORM. " prepare_catalog
*& Form change_attr_of_catalog
text
--> p1 text
<-- p2 text
FORM CHANGE_ATTR_OF_CATALOG .
LOOP AT IT_FLDCAT INTO X_CAT.
V_TABIX = SY-TABIX.
CASE X_CAT-FIELDNAME.
WHEN 'EXPAND'.
IF X_CAT-TABNAME = 'IT_VBAK'.
X_CAT-NO_OUT = 'X'.
ENDIF.
when 'VBELN'.
if x_cat-tabname = 'IT_VBAK'.
x_cat-no_out = 'X'.
endif.
WHEN 'VBELN'.
IF X_CAT-TABNAME = 'IT_VBAK'.
X_CAT-COL_POS = '1'.
X_CAT-SELTEXT_M = 'SALES DOC'.
X_CAT-SELTEXT_L = 'SALES DOC'.
X_CAT-SELTEXT_S = 'SALES DOC'.
X_CAT-OUTPUTLEN = '10'.
ENDIF.
WHEN 'AUDAT'.
IF X_CAT-TABNAME = 'IT_VBAK'.
X_CAT-COL_POS = '2'.
X_CAT-SELTEXT_M = 'DOC DATE'.
X_CAT-SELTEXT_L = 'DOC DATE'.
X_CAT-SELTEXT_S = 'DOC DATE'.
X_CAT-OUTPUTLEN = '8'.
ENDIF.
WHEN 'AUART'.
IF X_CAT-TABNAME = 'IT_VBAK'.
X_CAT-COL_POS = '3'.
X_CAT-SELTEXT_M = 'ORDER REASON'.
X_CAT-SELTEXT_L = 'ORDER REASON'.
X_CAT-SELTEXT_S = 'ORDER REASON'.
X_CAT-OUTPUTLEN = '5'.
ENDIF.
WHEN 'NETWR'.
IF X_CAT-TABNAME = 'IT_VBAK'.
X_CAT-COL_POS = '4'.
X_CAT-SELTEXT_M = 'NET PRICE'.
X_CAT-SELTEXT_L = 'NET PRICE'.
X_CAT-SELTEXT_S = 'NET PRICE'.
X_CAT-OUTPUTLEN = '15'.
ENDIF.
ENDCASE.
MODIFY IT_FLDCAT FROM X_CAT.
CLEAR X_CAT.
ENDLOOP.
ENDFORM. " change_attr_of_catalog
*& Form modify_layout
text
--> p1 text
<-- p2 text
FORM MODIFY_LAYOUT .
X_LAYOUT-DEFAULT_ITEM = 'X'.
X_LAYOUT-ZEBRA = 'X'.
X_LAYOUT-EXPAND_FIELDNAME = 'EXPAND'.
ENDFORM. " modify_layout
*& Form sort_catalog
text
--> p1 text
<-- p2 text
FORM SORT_CATALOG .
CLEAR WA_SORT.
WA_SORT-SPOS = '01'.
WA_SORT-FIELDNAME = 'VBELN' .
WA_SORT-TABNAME = 'IT_VBAP'.
WA_SORT-UP = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
WA_SORT-SPOS = '02'.
WA_SORT-FIELDNAME = 'POSNR' .
WA_SORT-TABNAME = 'IT_VBAP'.
WA_SORT-UP = 'X'.
APPEND WA_SORT TO IT_SORT.
ENDFORM. " sort_catalog
*& Form DISPLAY_REPORT
text
--> p1 text
<-- p2 text
FORM DISPLAY_REPORT .
IT_VARIANT-REPORT = SY-REPID.
SORT IT_VBAK BY VBELN.
SORT IT_VBAP BY VBELN POSNR.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = X_LAYOUT
IT_FIELDCAT = IT_FLDCAT[]
IT_SORT = IT_SORT
IS_VARIANT = IT_VARIANT
IT_EVENTS = IT_EVENTS[]
I_TABNAME_HEADER = 'IT_VBAK'
I_TABNAME_ITEM = 'IT_VBAP'
IS_KEYINFO = X_KEYINFO
IMPORTING
E_EXIT_CAUSED_BY_CALLER = V_CALL
ES_EXIT_CAUSED_BY_USER = X_USER
TABLES
T_OUTTAB_HEADER = IT_VBAK
T_OUTTAB_ITEM = IT_VBAP
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
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_REPORT
Regards,
Laxmi. -
Heads up display for viewport pixel size while dragging the bar!
Would be a great feature to display the active viewport size in a heads up display while dragging the bar so we can accurately determine the size of viewport to select. Love this program and can't wait for Version 1 and all that's to come!
TomHi Thomas! This is a good idea! Thanks for this!
-
I need to use a plug in for an internet program, but it will not open in Adobe
Its for a poker website and it keeps saying its not found in Adobe
See if Deltagraph is still around. We used to use that for plotting scientific data on Macs. I don't know if it is at all transferrable with Sigmaplot if you have a colleague who uses it, but if you're doing this on your own I would look at getting DG vs, doing a dual boot etc.
-
I have the new IMAC and the Morweb program will not work with the current Firefox 3.6.13 apparently I need 3.6.10 and am not sure where to find it on your website.
You can download the trial version of the software thru the page linked below and then use your current serial number to activate it.
Be sure to follow the steps outlined in the Note: Very Important Instructions section on the download pages at this site and have cookies enabled in your browser or else the download will not work properly.
Photoshop/Premiere Elements 10:
http://prodesigntools.com/photoshop-elements-10-direct-download-links-pse-premiere-pre.htm l
Maybe you are looking for
-
Hi One of my customers has brought computers on lease. The customer has Asset Accounting activiated in the system. I want to know 1. Creation of asset master records for leased assets in SAP. 2.How will the accounting flow occur for such assets in In
-
How to retrieve query string value from the URL in my portlet
Hi, When user clicks on "Advance Search", i am redirecting to page in the community. At the same i am adding some more values to the query string (to the URL). My URL will look like this. http://ctp-mc0149/portal/server.pt?space=CommunityPage&parentn
-
In PSE 9 how do I add slides to a saved slide show
In PSE 9 How do I add slides to a saved slide show?
-
Want to put a curve in an image along one side
hi , can anyone help an inexperienced user of PSE9 I have a rectangular photo and want to make one vertical side curved. How do I do it ? Many thanks
-
Hi all, I have to compare the value of a varchar variable using a CASE statement and display the corresponding output. But when the following code is being executed, and i gave the value of dayrange as anything other than number, i am getting the err