Dump in REUSE_ALV_GRID_DISPLAY
We have a Zprogram, and there is a field plant in the selection screen.
When more than one plant is selected the list shows ok but when we hit the button for downloading it to an excel, it dumps. On the other hand if only one plant is selected, the program runs ok and download the list on the PC without problems.
Here's the dump:
"MOVE_TO_LIT_NOTALLOWED_NODATA"
"SAPLKKBL " or "LKKBLF98 "
"SUM_UNIT_OUT_CHECK"
The error is clearly in the subtotals, if we take out all the do_sum = 'X' in the fieldcatalog, it runs ok.
I've looked for some SAP notes but neither of them seems to be suitable, one is for release 5.0 and the other one is for the banking component, which we don't have.
By the way, we are running release 4.6C
If anyone has any idea, pleas let me know.
Thanks in advance.
Hi Rich,
This is my part of code that generating the same short dump as Ling mentioned:
CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED.
*-->general includes
INCLUDE: <ICON>.
*-->group of variable for list display
TABLES: T001, "Company codes
D020S. "System table D020S (screen sources)
*-->constants declarations
CONSTANTS: CN_CX(1) TYPE C VALUE 'X', "standard indicator
CN_TCONTAINER01 TYPE SCRFNAME VALUE 'CONT01', "screen obj
CN_DYNNR_0100 LIKE SY-DYNNR VALUE '0100', "list screen
CN_STATUS_0100 LIKE RSMPE-STATUS VALUE 'MAIN0100', "menu
CN_TITLE_0100 LIKE RSMPE-CP_TITCODE VALUE 'MAIN0100', "Title
CN_CLAYOUT_A(1) TYPE C VALUE 'A', "all layout
CN_CLAYOUT_X(1) TYPE C VALUE 'X', "only global layout
CN_CLAYOUT_N(1) TYPE C VALUE 'N', "no layout
CN_CLAYOUT_U(1) TYPE C VALUE 'U', "only user layout
***report list printing
CN_ZTOTPAG(5) TYPE C VALUE '*****',
***system command, menu code
CN_ZEXIT LIKE SY-UCOMM VALUE 'EXIT', "exit
CN_ZBACK LIKE SY-UCOMM VALUE 'BACK', "back
CN_ZSAVE LIKE SY-UCOMM VALUE 'SAVE', "save
CN_ZNLES LIKE SY-UCOMM VALUE 'NLES', "refresh
CN_ZEXPD LIKE SY-UCOMM VALUE 'EXPD', "expand
CN_ZCOLP LIKE SY-UCOMM VALUE 'COLP', "collapse
***menu button (for standard toolbar in ALV grid)
CN_ZBUTN_TYPE_0 TYPE TB_BTYPE VALUE '0',"normal button
CN_ZBUTN_TYPE_1 TYPE TB_BTYPE VALUE '1',"menu and def. but
CN_ZBUTN_TYPE_2 TYPE TB_BTYPE VALUE '2',"menu
CN_ZBUTN_TYPE_3 TYPE TB_BTYPE VALUE '3',"seperator
CN_ZBUTN_TYPE_4 TYPE TB_BTYPE VALUE '4',"radio button
CN_ZBUTN_TYPE_5 TYPE TB_BTYPE VALUE '5',"checkbox
CN_ZBUTN_TYPE_6 TYPE TB_BTYPE VALUE '6'."menu entry
*-->data declaration for ALV object
DATA: OK_CODE LIKE SY-UCOMM,
OB_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
OB_GRID01 TYPE REF TO CL_GUI_ALV_GRID,
OB_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER,
TG_CDEFLT(1) TYPE C,
TS_ZVARIANT LIKE DISVARIANT,
TS_ZXVARIANT LIKE DISVARIANT,
TS_TPRINT TYPE LVC_S_PRNT,
TS_TLAYOUT TYPE LVC_S_LAYO,
TS_TOOLBAR TYPE STB_BUTTON,
TG_CVARIANT_SAVE(1) TYPE C,
TG_ZVARIANT LIKE DISVARIANT-VARIANT,
TG_ZREPID LIKE SY-REPID,
TA_TFIELDCAT_LVC TYPE LVC_T_FCAT WITH HEADER LINE,
TA_TSPGROUP_LVC TYPE LVC_T_SGRP WITH HEADER LINE,
TA_TUIFUNCTIONS TYPE UI_FUNCTIONS WITH HEADER LINE,
TA_ZDYNPREAD LIKE DYNPREAD OCCURS 0 WITH HEADER LINE,
TG_TUSER_SPECIFIC TYPE CHAR1,
TA_TSORT_LVC TYPE LVC_T_SORT WITH HEADER LINE,
TA_TFILT_LVC TYPE LVC_T_FILT WITH HEADER LINE,
TG_ZTITLE LIKE SY-TITLE.
*-->report header printing
DATA: TG_CTOTP(5) TYPE C,
TG_ILINET TYPE I. "number of text line to be printed
*-->report header list value, max 132 character per line
DATA: BEGIN OF TA_LISTKEY OCCURS 0,
TEXT TYPE ITEX132, "key value, ie. Sales org
END OF TA_LISTKEY.
START-OF-SELECTION.
CALL SCREEN 9000.
MODULE status_0100 OUTPUT.
SET PF-STATUS cn_status_0100.
SET TITLEBAR cn_title_0100.
IF ob_custom_container IS INITIAL.
IF cl_gui_alv_grid=>offline( ) IS INITIAL.
CREATE OBJECT ob_custom_container
EXPORTING
container_name = cn_tcontainer01
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
IF sy-subrc NE 0.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = tg_zrepid
txt2 = sy-subrc
txt1 = text-x09. "Control can not be...
ENDIF.
ENDIF.
CREATE OBJECT ob_grid01
EXPORTING i_parent = ob_custom_container.
Link used print events and event handler methods.
comment it if you don't want certain description printed
in the list
CREATE OBJECT ob_event_receiver.
SET HANDLER ob_event_receiver->handle_top_of_list FOR ob_grid01.
SET HANDLER ob_event_receiver->handle_top_of_page FOR ob_grid01.
SET HANDLER ob_event_receiver->handle_end_of_list FOR ob_grid01.
SET HANDLER ob_event_receiver->handle_end_of_page FOR ob_grid01.
SET HANDLER ob_event_receiver->handle_subtotal_text FOR ob_grid01.
CALL METHOD ob_event_receiver->set_list_value
EXPORTING i_preview = space
i_bukrs = t001-bukrs
i_title0 = sy-title
i_title1 = space
i_title2 = space
t_listkey = ta_listkey[].
*-->call the object method to display the list
CALL METHOD ob_grid01->set_table_for_first_display
EXPORTING i_structure_name = cn_itab_tabl
i_save = tg_cvariant_save
is_variant = ts_zvariant
is_print = ts_tprint
is_layout = ts_tlayout
it_special_groups = ta_tspgroup_lvc[]
it_toolbar_excluding = ta_tuifunctions[]
i_default = tg_cdeflt
CHANGING it_fieldcatalog = ta_tfieldcat_lvc[]
it_sort = ta_tsort_lvc[]
it_outtab = ta_data[]
it_filter = ta_tfilt_lvc[].
ENDIF.
Controls are not integrated into the TAB-Order
Call "set_focus" if you want to make sure that 'the cursor'
is active in your control.
CALL METHOD cl_gui_control=>set_focus
EXPORTING control = ob_grid01.
ENDMODULE.
Please comment.
Thanks in advance.
Similar Messages
-
ABAP Dump with using FM 'REUSE_ALV_GRID_DISPLAY'
Hi,
I copied a Standard report program(RCOPCA02) to Z-Program for adding two new fields in the report output. I added those two new fields in the field catalog also. Actually the program is using
FM 'REUSE_ALV_GRID_DISPLAY' , when i execute the program it is dumping.
when i use the same program with FM 'REUSE_ALV_LIST_DISPLAY' with same field catalog the fields are displaying in the layout and report but the values are not populating in the report.
Where is the problem i am not understanding.
Thanks,
fractalI checked in Debug mode, the values are coming in Internal Table correctly...
Here is the Dump.
Runtime Errors MESSAGE_TYPE_X
What happened?
The current application program detected a situation which really
should not occur. Therefore, a termination with a short dump was
triggered on purpose by the key word MESSAGE (type X).
Error analysis
Short text of error message:
Technical information about the message:
Message classe...... "0K"
Number.............. 000
Variable 1.......... " "
Variable 2.......... " "
Variable 3.......... " "
Variable 4.......... " "
Variable 3.......... " "
Variable 4.......... " "
"MESSAGE_TYPE_X" C
"SAPLSLVC " or "LSLVCF01 "
"LINE_OUT_NEW_2"
If you cannot solve the problem yourself, please send the
following documents to SAP:
1. A hard copy print describing the problem.
To obtain this, select the "Print" function on the current screen.
2. A suitable hardcopy prinout of the system log.
To obtain this, call the system log with Transaction SM21
and select the "Print" function to print out the relevant
part.
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, you can either use the "PRINT" command in the editor or
print the programs using the report RSINCL00.
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
Information on where termination occurred
The termination occurred in the ABAP program "SAPLSLVC " in "LINE_OUT_NEW_2".
The main program was "ZRCOPCA02 ".
The termination occurred in line 924 of the source code of the (Include)
program "LSLVCF01 "
of the source code of program "LSLVCF01 " (when calling the editor 9240).
Source code extract
008940 gs_roid-row_id = rs_row-index * -1.
008950 endif.
008960 gs_roid-sub_row_id = rs_row-rowtype+7(10).
008970 gs_poid-row_id = gs_roid-row_id.
008980 gs_poid-sub_row_id = gs_roid-sub_row_id.
008990 gs_poid-rowtype = rs_row-rowtype.
009000 gs_poid-index = rs_row-index.
009010 insert gs_poid into table rt_poid.
009020 endif.
009030 append gs_roid to rt_roid.
009040
009050 loop at rt_fieldcat assigning <ls_fieldcat> where tech ne 'X' and
009060 no_out ne 'X'.
009070
009080 if gflg_invisible = 'X'.
009090 if <ls_fieldcat>-do_sum is initial.
009100 clear gflg_invisible.
009110 continue.
009120 else.
009130 clear g_col_counter.
009140 clear gflg_invisible.
009150 endif.
009160 endif.
009170
009180 clear gs_lvc_data.
009190 clear g_style.
009200
009210 assign component
009220 <ls_fieldcat>-fieldname of structure rt_data to <g_field>.
009230 if sy-subrc ne 0.
> message x000(0k).
009250 endif.
009260
009270 g_col_counter = g_col_counter + 1.
009280
009290 gs_lvc_data-row_pos = r_row_counter.
009300 gs_lvc_data-col_pos = g_col_counter.
009310 gs_lvc_data-row_id = gs_roid-row_id.
009320 gs_lvc_data-sub_row_id = gs_roid-sub_row_id.
009330
009340 * Endtotal and average
009350 if rs_row-rowtype(1) ca 'T' and <ls_fieldcat>-do_sum = 'C'.
009360 * save the actual grouplevel information
009370 gs_grouplevels = rs_grouplevels.
009380 clear g_lines.
009390
009400 * get number of lines of the collect table
009410 describe table rt_data lines g_lines.
009420 * if there is only one line or the field has no references so
009430 * that only the first line has to be considered
SY field contents..................... SY field contents........
SY-SUBRC 4 SY-INDEX 1
SY-TABIX 95 SY-DBCNT 0
SY-FDPOS 0 SY-LSIND 0
SY-PAGNO 0 SY-LINNO 1
SY-COLNO 1 SY-PFKEY STANDARD_GRID
SY-UCOMM DTC_CONT
SY-TITLE Profit Center: Actual Line Items
SY-MSGTY X SY-MSGID 0K
SY-MSGNO 000 SY-MSGV1
SY-MSGV2 SY-MSGV3
SY-MSGV4
No.... Type........ Name..........................
Program
Include Line
Class
14 FORM LINE_OUT_NEW_2
SAPLSLVC
LSLVCF01 924
13 FORM TOTAL_OUT_NEW
SAPLSLVC
LSLVCF01 1297
12 FORM DATA_TABLE_PREPARE
SAPLSLVC
LSLVCF36 833
11 FORM LVC_TABLE_FOR_DISPLAY_PREPARE
SAPLSLVC
LSLVCF36 259
10 FUNCTION LVC_TABLE_FOR_DISPLAY_PREPARE
SAPLSLVC
LSLVCU35 106
9 METHOD SOFT_REFRESH_TABLE_DISPLAY
CL_GUI_ALV_GRID===============CP
CL_GUI_ALV_GRID===============CM01P 240
CL_GUI_ALV_GRID
8 METHOD REFRESH_TABLE_DISPLAY
CL_GUI_ALV_GRID===============CP
CL_GUI_ALV_GRID===============CM00T 125
CL_GUI_ALV_GRID
7 METHOD MAINTAIN_VARIANT
CL_GUI_ALV_GRID===============CP
CL_GUI_ALV_GRID===============CP
CL_GUI_ALV_GRID===============CM00P 313
CL_GUI_ALV_GRID
6 METHOD EXECUTE_FCODE
CL_GUI_ALV_GRID===============CP
CL_GUI_ALV_GRID===============CM007 582
CL_GUI_ALV_GRID
5 METHOD SET_FUNCTION_CODE
CL_GUI_ALV_GRID===============CP
CL_GUI_ALV_GRID===============CM01E 53
CL_GUI_ALV_GRID
4 FORM PAI
SAPLSLVC_FULLSCREEN
LSLVC_FULLSCREENF01 1776
3 MODULE (PAI) PAI
SAPLSLVC_FULLSCREEN
LSLVC_FULLSCREENI01 4
2 FUNCTION REUSE_ALV_GRID_DISPLAY
SAPLSLVC_FULLSCREEN
LSLVC_FULLSCREENU01 91
1 EVENT START-OF-SELECTION
ZRCOPCA02
ZRCOPCA02 928 -
Hi Experts,
In the report I am using LDB pnp and outputting results with ALV,
I am using the FM REUSE_ALV_GRID_DISPLAY,
And I am getting the dump GETWA_NOT_ASSIGNED.
The dump I am getting when the FM is executed.
Thanks in Advance.
Regards,
IFFHi,
i faced the same problem some days ago.
jst cleck your fieldcat.
check fields names passed to fieldcat and should be in ' ' and in capital.
This shd solve your problem
Thanks & regards -
Dump GETWA_NOT_ASSIGNED with REUSE_ALV_GRID_DISPLAY
Hi All,
Today I observed that REUSE_ALV_GRID_DISPLAY gives dump GETWA_NOT_ASSIGNED if we pass a blank table for output. These days I am working with ECC6. Earlier when I use to work with ECC5 such thing never happened and ALV get displayed without any row.
Does anyone know is that correct that in ECC6 blank table in REUSE_ALV_GRID_DISPLAY gives dump. If so, any reason why in ECC6 and not in ECC5?
Regards,
BhaskarHi Bhaskar Tripathi ,
I have an example that works in ECC 6 if you want you can compare it with your code.
types: slis_formname(30) type c.
data: i_repid type sy-repid,
I_CALLBACK_PF_STATUS_SET type slis_formname,
I_CALLBACK_USER_COMMAND type slis_formname,
I_CALLBACK_TOP_OF_PAGE type slis_formname,
lt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
lt_sort TYPE slis_sortinfo_alv OCCURS 1,
gt_events TYPE slis_t_event WITH HEADER LINE,
lt_out "your table with information",
ls_layout TYPE slis_layout_alv.
ls_layout-no_input = 'X'.
ls_layout-colwidth_optimize = 'X'.
ls_layout-totals_text = 'Totals'(201).
ls_layout-info_fieldname = 'LINE_COLOR'.
ls_fieldcat-fieldname = 'MANDT'.
ls_fieldcat-seltext_m = 'Mandante'.
ls_fieldcat-col_pos = 0.
ls_fieldcatj-outputlen = 10.
ls_fieldcat-emphasize = 'X'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'PSPID'.
ls_fieldcat-seltext_m = 'Def. de Proyecto'.
ls_fieldcat-col_pos = 1.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'POST1'.
ls_fieldcat-seltext_m = 'Descrip. breve'.
ls_fieldcat-col_pos = 2.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = 'OBJNR'.
ls_fieldcat-seltext_m = 'Número de objeto'.
ls_fieldcat-col_pos = 3.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
**Event
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = gt_events[].
* EXCEPTIONS
* LIST_TYPE_WRONG = 1
* OTHERS = 2
READ TABLE gt_events WITH KEY name = slis_ev_end_of_list
INTO ls_event.
IF sy-subrc = 0.
MOVE 'END_OF_PAGE' TO ls_event-form.
APPEND ls_event TO gt_events.
ENDIF.
READ TABLE gt_events WITH KEY name = slis_ev_end_of_list
INTO ls_event.
IF sy-subrc = 0.
MOVE 'END_OF_LIST' TO ls_event-form.
APPEND ls_event TO gt_events.
ENDIF.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = i_repid
i_callback_pf_status_set = i_callback_pf_status_set
i_callback_user_command = i_callback_user_command
i_grid_title = i_title
is_layout = lt_layout
it_fieldcat = lt_fieldcat
it_sort = lt_sort
* IS_VARIANT =
it_events = lt_events
TABLES
t_outtab = lt_out
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.
Best regards. -
Getting dump when using do_sum in alv field cat in the output of the report
Dear Freinds,
Iam getting the alv report when i click on the segma field (Sum) on my salary
field iam getting dump. and also if i try to print my alv output iam getting dump , only
happening to my custom report.
i have used the following code pleae correct me .
This perform is used for Layout settings
perform st_layout_build using gs_layout.
form st_layout_build using st_ls_layout type slis_layout_alv.
st_ls_layout-no_input = 'X'.
st_ls_layout-colwidth_optimize = 'X'.
st_ls_layout-zebra = 'X'.
st_ls_layout-detail_popup = 'X'.
endform. " st_layout_build
Field Catalog details
perform st_fieldcat_init changing gt_fieldcat.
form st_fieldcat_init changing fp_i_fieldcat type slis_t_fieldcat_alv.
clear ls_fieldcat.
ls_fieldcat-col_pos = 1.
ls_fieldcat-fieldname = 'ORGUNIT'.
ls_fieldcat-seltext_l = 'Orgunit'.
ls_fieldcat-no_out = 'X'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 2.
ls_fieldcat-fieldname = 'ORGTEXT'.
ls_fieldcat-seltext_l = 'Orgdesc'.
ls_fieldcat-no_out = 'X'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-fieldname = 'SALARY'.
ls_fieldcat-seltext_l = 'Salary'.
ls_fieldcat-col_pos = 3.
ls_fieldcat-outputlen = 15.
ls_fieldcat-do_sum = 'X'.
ls_fieldcat-datatype = 'CURR'. "CURR
append ls_fieldcat to fp_i_fieldcat.
endform.
Variant
perform st_variant_init using gs_variant g_repid.
form st_variant_init using st_gs_variant type disvariant
st_repid like sy-repid.
clear st_gs_variant.
st_gs_variant-report = st_repid.
endform. " st_variant_init
g_repid = sy-repid.
perform st_comment_build using gt_list_top_of_page[].
form st_comment_build using st_lt_top_of_page type slis_t_listheader.
data: ls_line type slis_listheader.
Listenüberschrift: Typ H
clear ls_line.
ls_line-typ = 'H'.
LS_LINE-KEY: not used for this type
ls_line-info = text-000.
append ls_line to st_lt_top_of_page.
endform. " st_comment_build
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_buffer_active = 'X'
i_callback_top_of_page = 'TOP_OF_PAGE'
i_callback_program = g_repid
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
i_structure_name = 'i_final' "c_i_final "'objec'
i_save = g_save
is_variant = gs_variant
tables
t_outtab = fp_i_pyrol_final
exceptions
program_error = 1
others = 2.
if sy-subrc ne 0.
message e018. " Displaying the ALV GRID has failed
endif.
Please could any one let me know why iam getting dump when iam clicking for total
on my salary field.
Regards
lathaDear Chandu,
my code iam giving in details
types : begin of ty_output_data,
staffno type pernr_d,
staffname type emnam,
grade type stell,
orgunit type orgeh,
orgtext type hr_mcstext,
psgroup type trfgr, " Pay Scale Group
salary type maxbt, "PAD_AMT7S,
rrefunded type pad_amt7s,
leavepay type pad_amt7s,
mshortfal type pad_amt7s, " Medical Shortfall
echkshfal type pad_amt7s, " Execute checkup shortfall
ofindeduc type pad_amt7s, " Other Finance Deduction
mtyprem type pad_amt7s, " maternity premium
vpbonus type pad_amt7s, " VP/Bonus
gratuity type pad_amt7s, " Gratuity
vpay type pad_amt7s, " Variable pay
mallowance type pad_amt7s, " Meal Allowance
overtime type pad_amt7s, " overtime
other type pad_amt7s, " OTHER
pfundeecon type pad_amt7s, " PFund Employee's Contribution
banktrnsfer type pad_amt7s, " Bank Transfer
count type i,
end of ty_output_data.
data : i_final type standard table of ty_output_data.
iam getting all my data in the internal table I_FINAL.
perform get_final_alv using i_final.
form get_final_alv using fp_i_pyrol_final type ty_t_output_data.
*local variable declarations
data : l_v_idx type sy-tabix.
*local work areas
data : l_wa_final type ty_output_data.
g_save = 'A'.
This perform is used for Layout settings
perform st_layout_build using gs_layout.
Field Catalog details
perform st_fieldcat_init changing gt_fieldcat.
Variant
perform st_variant_init using gs_variant g_repid.
g_repid = sy-repid.
perform st_comment_build using gt_list_top_of_page[].
if not fp_i_pyrol_final is initial.
delete adjacent duplicates from fp_i_pyrol_final comparing all fields.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_buffer_active = 'X'
i_callback_top_of_page = 'TOP_OF_PAGE'
i_callback_program = g_repid
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
i_structure_name = 'i_final' "c_i_final "'objec'
i_save = g_save
is_variant = gs_variant
tables
t_outtab = fp_i_pyrol_final
exceptions
program_error = 1
others = 2.
if sy-subrc ne 0.
message e018. " Displaying the ALV GRID has failed
endif.
endif.
endform. " get_final_alv
form st_layout_build using st_ls_layout type slis_layout_alv.
st_ls_layout-no_input = 'X'.
st_ls_layout-colwidth_optimize = 'X'.
st_ls_layout-zebra = 'X'.
st_ls_layout-detail_popup = 'X'.
endform. " st_layout_build
form st_fieldcat_init changing fp_i_fieldcat type slis_t_fieldcat_alv.
data: ls_fieldcat type slis_fieldcat_alv.
clear ls_fieldcat.
ls_fieldcat-col_pos = 1.
ls_fieldcat-fieldname = 'ORGUNIT'.
ls_fieldcat-seltext_l = 'Orgunit'.
ls_fieldcat-no_out = 'X'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 2.
ls_fieldcat-fieldname = 'ORGTEXT'.
ls_fieldcat-seltext_l = 'Orgdesc'.
ls_fieldcat-no_out = 'X'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 5.
ls_fieldcat-fieldname = 'STAFFNAME'.
ls_fieldcat-no_out = 'X'.
ls_fieldcat-seltext_l = 'StaffName'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 4.
ls_fieldcat-fieldname = 'STAFFNO'.
ls_fieldcat-no_out = 'X'.
ls_fieldcat-seltext_l = 'StaffNo.'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 6.
ls_fieldcat-fieldname = 'GRADE'.
ls_fieldcat-seltext_l = 'Grade'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 3.
ls_fieldcat-fieldname = 'COUNT'.
ls_fieldcat-seltext_l = 'Headcount'.
append ls_fieldcat to fp_i_fieldcat.
if the field name is 'Salary' then do a sum on this field.
IF fp_fname = c_betrg.
l_wa_fieldcat-do_sum = c_x.
ENDIF.
NOTE : IAM GETTING PROBLEM IN THE BELOW SALARY.
IAM JUST CHECKING ITSELF NOT ALLOWING ME TO EXECUTE
clear ls_fieldcat.
ls_fieldcat-fieldname = 'SALARY'.
ls_fieldcat-seltext_l = 'Salary'.
ls_fieldcat-col_pos = 7.
ls_fieldcat-outputlen = 20.
ls_fieldcat-do_sum = 'X'.
ls_fieldcat-datatype = 'CURR'. "CURR
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 9.
ls_fieldcat-fieldname = 'LEAVEPAY'.
ls_fieldcat-seltext_l = 'Leave Pay'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 10.
ls_fieldcat-fieldname = 'MSHORTFAL'.
ls_fieldcat-seltext_l = 'Med.Sfall'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 11.
ls_fieldcat-fieldname = 'ECHKSHFAL'.
ls_fieldcat-seltext_l = 'EX.Chckup.Sfall'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 12.
ls_fieldcat-fieldname = 'OFINDEDUC'.
ls_fieldcat-seltext_l = 'Oth.Fin.Deduction'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 13.
ls_fieldcat-fieldname = 'MTYPREM'.
ls_fieldcat-seltext_l = 'Mat.Premium'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 14.
ls_fieldcat-fieldname = 'VPBONUS'.
ls_fieldcat-seltext_l = 'VP/Bonus'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 15.
ls_fieldcat-fieldname = 'GRATUITY'.
ls_fieldcat-seltext_l = 'Gratuity'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 16.
ls_fieldcat-fieldname = 'VPAY'.
ls_fieldcat-seltext_l = 'Variable Pay'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 17.
ls_fieldcat-fieldname = 'MALLOWANCE'.
ls_fieldcat-seltext_l = 'Meal.Allowance'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 18.
ls_fieldcat-fieldname = 'OVERTIME'.
ls_fieldcat-seltext_l = 'Overtime'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 19.
ls_fieldcat-fieldname = 'OTHER'.
ls_fieldcat-seltext_l = 'Other'.
append ls_fieldcat to fp_i_fieldcat.
pfundeecon
clear ls_fieldcat.
ls_fieldcat-col_pos = 20.
ls_fieldcat-fieldname = 'P FUND EMPLOYEES CONTRIBUTION'.
ls_fieldcat-seltext_l = 'P.Fund.Emp.Contrib'.
append ls_fieldcat to fp_i_fieldcat.
clear ls_fieldcat.
ls_fieldcat-col_pos = 21.
ls_fieldcat-fieldname = 'BANKTRNSFER'.
ls_fieldcat-seltext_l = 'Payment'.
append ls_fieldcat to fp_i_fieldcat.
endform. " st_fieldcat_init
form st_variant_init using st_gs_variant type disvariant
st_repid like sy-repid.
clear st_gs_variant.
st_gs_variant-report = st_repid.
endform. " st_variant_init
form st_comment_build using st_lt_top_of_page type slis_t_listheader.
data: ls_line type slis_listheader.
Listenüberschrift: Typ H
clear ls_line.
ls_line-typ = 'H'.
LS_LINE-KEY: not used for this type
ls_line-info = text-000.
append ls_line to st_lt_top_of_page.
endform. " st_comment_build
FORM TOP_OF_PAGE *
form top_of_page.
data: l_i_detailheader type slis_t_listheader.
To get the header for ALV
perform detail_header changing l_i_detailheader.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = l_i_detailheader.
endform. "top_of_page
form detail_header changing fp_i_detailheader type slis_t_listheader.
data: l_wa_header type slis_listheader,
l_v_time type slis_edit_mask,
l_v_date type slis_edit_mask,
l_v_abkrs type char5,
l_v_pabrj type char8,
l_v_pagno type char10.
Local Constants
constants: l_c_h type char1 value 'H',
l_c_1 type i value '1',
l_c_edit type char10 value '__.__.____',
l_c_slash type c value '/'. " constant for slash
To display the report Header
l_wa_header-typ = l_c_h.
WRITE sy-repid TO l_wa_header-info LEFT-JUSTIFIED.
write text-014 to l_wa_header-info left-justified.
append l_wa_header to fp_i_detailheader.
clear l_wa_header.
To display the Page no
l_v_pagno = sy-pagno + l_c_1.
l_wa_header-typ = c_s.
l_wa_header-key = text-008. " Page No:
l_wa_header-info = l_v_pagno.
append l_wa_header to fp_i_detailheader.
clear l_wa_header.
To Display the User ID
l_wa_header-typ = c_s.
l_wa_header-key = text-009. " User ID
l_wa_header-info = sy-uname.
append l_wa_header to fp_i_detailheader.
clear l_wa_header.
To Display the Date/Time
l_wa_header-typ = c_s.
l_wa_header-key = text-010. " Date/Time:
l_v_time = sy-uzeit.
l_v_date = sy-datum.
write: sy-uzeit to l_v_time.
write sy-datum to l_v_date using edit mask l_c_edit.
concatenate l_v_date
l_c_slash
l_v_time into l_wa_header-info+0(25) separated by space.
append l_wa_header to fp_i_detailheader.
clear: l_wa_header, l_v_date.
To Display the Report Description
l_wa_header-typ = c_s.
l_wa_header-key = text-011. " Report Description
l_wa_header-info = text-012.
append l_wa_header to fp_i_detailheader.
clear l_wa_header.
append l_wa_header to fp_i_detailheader.
endform. " detail_header
I will be greatful if any one can please help me in removing me the dump.
REGARDS
LATHA. -
ABAP Dump while Changing the Layout fields in Report output - RCOPCA02
Hi,
I Copied the Standard Program RCOPCA02 to ZRCOPCA02. I added two new fields(AUART, AUGRU) in the report output. It is executing correctly with default layout, While Changing the layout for displaying new fields it is dumping.
I am not understanding, What should i do...
Here is the Code.
report ZRCOPCA02 no standard page heading message-id km
line-count (2) line-size 81.
type-pools: slis, ecarc.
DDIC-Tabellen *******************************************************
tables: glpca, "Einzelposten / Ist
glu1, "Übergabestruktur FI-SL-Anzeige
t000,
tka01,
sscrfields,
vbak.
Variablen und int. Tabellen *****************************************
data: l_vbeln like vbak-vbeln,
l_auart like vbak-auart,
l_augru like vbak-augru.
data: afield type slis_fieldcat_alv,
sp_group type slis_sp_group_alv,
t_listheader type slis_t_listheader with header line,
t_layout type slis_layout_alv,
t_fieldcat type slis_t_fieldcat_alv,
t_spec_groups type slis_t_sp_group_alv,
event type slis_alv_event,
t_events type slis_t_event,
g_variant like disvariant,
gx_variant like disvariant,
g_exit(1) type c,
g_save(1) type c,
g_repid like sy-repid,
msgtyp like sy-msgty,
lt_dynpread like dynpread occurs 1 with header line,
ls_rpcak like rpcak, "note 0310592
packsize type i value 1000,
text1(60) type c,
text2(60) type c,
oldkokrs like glpca-kokrs,
oldracct like glpca-racct.
data: whr_size type i value 50,"Maximum of single values per MIC 46a
"charact. in the where-clause of the select-statement
lines type i, "number of lines of range table MIC 46a
cnt_rldnr type i, "Zähler Anzahl selektierter Ledger
cnt_kokrs type i, "Zähler Anzahl selektierter KoReKreise
cnt_poper type i, "Zähler Anzahl selektierter Perioden
cnt_ryear type i, "Zähler Anzahl selektierter GeschJahre
cnt_rvers type i, "Zähler Anzahl selektierter Versionen
cnt_bukrs type i, "Zähler Anzahl selektierter BuKreise
empge like dkobr-empge,
ksl_curr like tka01-pcacur,
hsl_curr like t001-waers,
a_rec like rstirec.
data: begin of dim_data.
include structure rgcdi. "data for dimensions
data: end of dim_data.
data: begin of tab_fields occurs 80,
name like dntab-fieldname, "fields in table i_glpca
end of tab_fields.
data: begin of i_glpca occurs 0.
include structure rpca2.
data: racct_ktext like rpcak-ktext,
psppp like prps-posid,
v_auart like vbak-auart,
v_augru like vbak-augru,
end of i_glpca.
data: rw_subrc like sy-subrc, "Flag: Report-Writer-Schnittstelle
re_subrc like sy-subrc, "Flag: Recherche-Schnittstelle
subrc like sy-subrc.
data: set_id like sethier-setid, "Set-ID "RDI_SETS_4.0
set_class like sethier-setclass, "Setklasse "RDI_SETS_4.0
set_sname like sethier-shortname."Setname (24) "RDI_SETS_4.0
data: authorised(1),
s_message(1),
auth_dbcount like sy-tabix,
Hex-Konstanten für Minimum/Maximum-Werte
begin of hex00,
x1(12) type c,
x2(12) type c,
end of hex00,
begin of hexff,
x1(12) type c,
x2(12) type c,
end of hexff.
ranges rclnt for glpca-rclnt.
field-symbols: type ecarc_glpca_curr.
Selektionsoptionen *************************************************
select-options:
rldnr for glpca-rldnr default '8A' no-display,
rassc for glpca-rassc no-display,
rrcty for glpca-rrcty default 0,
rrcty for glpca-rrcty,
rvers for glpca-rvers default '000',
kokrs for glpca-kokrs memory id cac,
bukrs for glpca-rbukrs memory id buk,
poper for glpca-poper default sy-datlo+4(2),
ryear for glpca-ryear default sy-datlo,
poper for glpca-poper,
ryear for glpca-ryear,
prctr for glpca-rprctr matchcode object prct,
pprctr for glpca-sprctr matchcode object prct,
RACCT FOR GLPCA-RACCT MATCHCODE OBJECT KART, "RD_P30K128304
racct for glpca-racct, "RD_P30K128304
drcrk for glpca-drcrk,
activ for glpca-activ,
rhoart for glpca-rhoart,
rfarea for glpca-rfarea,
stagr for glpca-stagr,
rtcur for glpca-rtcur,
runit for glpca-runit,
versa for glpca-versa no-display,
eprctr for glpca-eprctr no-display,
afabe for glpca-afabe no-display,
rmvct for glpca-rmvct no-display,
hrkft for glpca-hrkft no-display, "note 550972
sbukrs for glpca-sbukrs no-display, "note 550972
shoart for glpca-shoart no-display, "note 550972
sfarea for glpca-sfarea no-display, "note 550972
docct for glpca-docct,
docnr for glpca-docnr,
refdocct for glpca-refdocct,
refdocnr for glpca-refdocnr,
werks for glpca-werks,
repmatnr for glpca-rep_matnr matchcode object pca_shlp_rep_matnr,
rscope for glpca-rscope.
parameters: no_rrint no-display default ' '." skip "MICP40K066037
" report-report-interface
display variant ">>MICP40K039857
selection-screen begin of block 0 with frame title text-e01.
parameters: p_vari like disvariant-variant.
selection-screen comment 47(40) varname for field p_vari.
selection-screen end of block 0.
parameters log_grp(4) type c no-display default 'KE5Z'.
"<<MICP40K039857
ranges: v_racct for glpca-racct,
v_prctr for glpca-rprctr,
v_pprctr for glpca-sprctr.
Tabelle mit Werten aus den Berichts-Set vom Report-Writer *
data begin of val_tab occurs 50.
include structure rgciv.
data end of val_tab.
MICP30K166368
feldkatalog und interface für bb-schnittstelle rw MICP30K166368
MICP30K166368
"MICP30K166368
data begin of bbs_fieldtab occurs 20. "MICP30K166368
include structure rstifields. "MICP30K166368
data end of bbs_fieldtab. "MICP30K166368
archiv
type-pools: rsds.
types: begin of ty_archive_objects,
object like arch_obj-object,
end of ty_archive_objects,
ty_t_archive_objects type ty_archive_objects occurs 2.
constants: lc_set type c value 'X',
lc_report type progname value 'KE5Z',
lc_reporttype type reporttype value 'TR'.
tables: admi_files.
select-options lr_files for admi_files-archiv_key no-display.
parameter: read_db type c default 'X' no-display,
read_ar type c no-display,
arc_obj like arch_obj-object no-display,
read_as type c default 'X' no-display.
data : lt_arch_obj type ty_t_archive_objects with header line,
ls_selections type rsds_frange,
lt_selections type rsds_frange_t,
ls_selopt type rsdsselopt,
lt_glpca_archiv type ecarc_t_glpca_curr.
*********************************************************>>MICP40K039857
INITIALIZATION
initialization.
Diverse Initialisierungen
perform init_vars.
g_repid = sy-repid.
Set default values for record type
rrcty-sign = 'I'.
rrcty-option = 'EQ'.
rrcty-low = '0'.
append rrcty.
rrcty-low = '2'.
append rrcty.
Set default values for period and year (if kokrs or bukrs is known)
get parameter id 'BUK' field bukrs-low.
get parameter id 'CAC' field kokrs-low.
if kokrs-low is initial "get contr. area from company code
and not bukrs-low is initial.
call function 'KOKRS_GET_FROM_BUKRS'
exporting
i_bukrs = bukrs-low
importing
e_kokrs = kokrs-low
exceptions
no_kokrs_found = 1
others = 2.
if sy-subrc <> 0.
clear kokrs-low.
endif.
endif.
if not kokrs-low is initial.
call function 'K_KOKRS_READ' "get fiscal year variant
exporting
kokrs = kokrs-low
importing
e_tka01 = tka01
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc = 0.
call function 'G_PERIOD_GET'
exporting
date = sy-datlo
variant = tka01-lmona
importing
period = poper-low
year = ryear-low
exceptions
ledger_not_assigned_to_company = 1
period_not_defined = 2
variant_not_defined = 3
others = 4.
if sy-subrc = 0.
poper-sign = 'I'.
poper-option = 'EQ'.
append poper.
ryear-sign = 'I'.
ryear-option = 'EQ'.
append ryear.
endif.
endif.
endif.
Settings for display variants
g_save = 'A'. "Schalter Varianten benutz./allg. speichern
clear g_variant.
g_variant-report = g_repid.
g_variant-log_group = log_grp.
g_variant-username = sy-uname.
Get default variant
gx_variant = g_variant.
call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
exporting
i_save = g_save
changing
cs_variant = gx_variant
exceptions
not_found = 2.
if sy-subrc = 0.
p_vari = gx_variant-variant.
endif.
Set variant
if p_vari is initial.
p_vari = '1SAP'.
move p_vari to gx_variant-variant.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
i_save = g_save
changing
cs_variant = gx_variant
exceptions
not_found = 1.
if sy-subrc ne 0.
clear p_vari.
clear gx_variant-variant.
endif.
endif.
varname = gx_variant-text.
"<<MICP40K039857
archiv
call function 'KARL_DATA_INPUT_INIT'
exporting
i_report = lc_report
i_reporttype = lc_reporttype
importing
e_xusedb = read_db
e_xusear = read_ar
e_archobj = arc_obj
e_infosys = read_as
tables
t_arch_sel = lr_files.
data: lt_excluding like sy-ucomm occurs 0 with header line.
call function 'RS_SET_SELSCREEN_STATUS'
exporting
p_status = 'SELSCREEN'
p_program = 'RCOPCA02'
tables
p_exclude = lt_excluding.
Initialisieren der Bericht/Bericht-Schnittstellen *
data: ld_no_rrint type boole_d. "note 490484 begin
import rri = ld_no_rrint from memory id 'RCOPCA02_NO_RRI'.
if ld_no_rrint = 'X'.
free memory id 'RCOPCA02_NO_RRI'.
else. "note 490484 end
call function 'G_REPORT_INTERFACE_INIT' "Report-Writer?
exporting "MICP30K166368
table = 'GLPCT' "MICP30K166368
importing
subrc = rw_subrc "MICP30K166368
tables "MICP30K166368
it_fieldr = bbs_fieldtab. "MICP30K166368
call function 'RSTI_APPL_STACK_POP'"oder Recherche?
importing
i_rec = a_rec
exceptions
appl_stack_not_initialized = 1.
re_subrc = sy-subrc.
if re_subrc = 0.
check Receiver is this report
if not ( ( a_rec-rtool = 'RT' and a_rec-ronam = 'RCOPCA02' )
or ( a_rec-rtool = 'TR' and a_rec-ronam = 'KE5Z' ) ) .
re_subrc = 2.
endif.
endif.
endif.
AT SELCTION-SCREEN on value request**********************************
*at selection-screen on value-request for racct-low. "RD "4.6a
"RD "4.6a
call function 'K_RACCT_VALUE_REQUEST' "RD "4.6a
importing "RD "4.6a
e_racct = racct-low. "RD "4.6a
"RD "4.6a
"RD "4.6a
*at selection-screen on value-request for racct-high. "RD "4.6a
"RD "4.6a
call function 'K_RACCT_VALUE_REQUEST' "RD "4.6a
importing "RD "4.6a
e_racct = racct-high. "RD "4.6a
at selection-screen on value-request for p_vari. "MICP40K039857
perform f4_for_variant. "MICP40K039857
at selection-screen on value-request for poper-low. "RD "4.6a
begin of insertion note 522715
call function 'K_KOKRS_READ'
exporting
kokrs = kokrs-low
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc = 0.
end of insertion note 522715
call function 'ECPCA_RPMAX_VALUE_REQUEST' "RD "4.6a
exporting "RD "4.6a
i_kokrs = kokrs-low "RD "4.6a
i_ryear = ryear-low "RD "4.6a
importing "RD "4.6a
e_rpmax = poper-low "RD "4.6a
begin of insertion note 522715
exceptions
table_empty = 1.
endif.
end of insertion note 522715
at selection-screen on value-request for poper-high. "RD "4.6a
begin of insertion note 522715
call function 'K_KOKRS_READ'
exporting
kokrs = kokrs-low
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc = 0.
end of insertion note 522715
call function 'ECPCA_RPMAX_VALUE_REQUEST' "RD "4.6a
exporting "RD "4.6a
i_kokrs = kokrs-low "RD "4.6a
i_ryear = ryear-low "RD "4.6a
importing "RD "4.6a
e_rpmax = poper-high "RD "4.6a
begin of insertion note 522715
exceptions
table_empty = 1.
endif.
end of insertion note 522715
AT SELCTION-SCREEN ***************************************************
at selection-screen.
perform pai_of_selection_screen.
begin of insertion note 522715
if not kokrs-low is initial.
call function 'K_KOKRS_READ'
exporting
kokrs = kokrs-low
exceptions
not_found = 1
not_found_gjahr = 2
others = 3.
if sy-subrc <> 0.
message e101(ki) with kokrs-low.
endif.
endif.
end of insertion note 522715
archiv
if sy-ucomm = 'FC01' or sy-ucomm = 'UCDS'
or sy-ucomm = 'ONLI' and read_ar = 'X'
and read_as is initial and lr_files[] is initial.
if lt_arch_obj[] is initial.
lt_arch_obj-object = 'PCA_OBJECT'. append lt_arch_obj.
lt_arch_obj-object = 'EC_PCA_ITM'. append lt_arch_obj.
endif.
call function 'KARL_DATA_INPUT_SELECT'
exporting
i_db_and_arc = lc_set
i_infosys_possible = lc_set
i_object_fixed = 'V'
i_documentation = 'KARL_DATA_INPUT_SEL_KE5YZ'
i_report = lc_report
i_reporttype = lc_reporttype
tables
t_objects = lt_arch_obj
t_arch_sel = lr_files
changing
c_xusedb = read_db
c_xusear = read_ar
c_archobj = arc_obj
c_infosys = read_as.
endif.
START-OF-SELECTION **************************************************
start-of-selection.
Default-Werte löschen, falls Aufruf über Recherche
oder Report-Writer erfolgt ist
if no_rrint is initial and ld_no_rrint is initial. "note 490484
if rw_subrc eq 0 or re_subrc eq 0.
refresh: rldnr, rrcty, rvers, kokrs, bukrs, poper, ryear,
racct, prctr, pprctr, drcrk, activ, rhoart, rfarea,
versa, afabe, eprctr,
v_racct, v_prctr, v_pprctr.
clear: rldnr, rrcty, rvers, kokrs, bukrs, poper, ryear,
racct, prctr, pprctr, drcrk, activ, rhoart, rfarea,
versa, afabe, eprctr,
v_racct, v_prctr, v_pprctr.
endif.
Parameter einlesen über Report-Writer-Schnittstelle *
if rw_subrc eq 0.
perform rw_get_parameters.
oder Parameter einlesen über Recherche-Schnittstelle *
elseif re_subrc eq 0.
perform re_get_parameters.
endif.
endif.
if read_db = 'X'. " read from DB (archiv)
Bewegungsdaten einlesen und puffern...................................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Einzelposten selektieren'(p10).
Use dirty trick to mislead DB-optimizer
call function 'DB_DO_NOT_USE_CLIENT_INDEX'
exporting
value = sy-mandt
tables
mandttab = rclnt.
select (tab_fields) from glpca
client specified
package size packsize
APPENDING CORRESPONDING FIELDS OF TABLE i_glpcaO
into corresponding fields of table i_glpca
where rldnr in rldnr
and rrcty in rrcty
and rvers in rvers
and kokrs in kokrs
and rbukrs in bukrs
and ryear in ryear
and rassc in rassc
and hrkft in hrkft "note 550972
and sbukrs in sbukrs "note 550972
and shoart in shoart "note 550972
and sfarea in sfarea "note 550972
and racct in racct
and rprctr in prctr
and sprctr in pprctr
and poper in poper
and drcrk in drcrk
and activ in activ
and rhoart in rhoart
and rfarea in rfarea
and versa in versa
and eprctr in eprctr
and afabe in afabe
and rmvct in rmvct
and docct in docct
and docnr in docnr
and stagr in stagr
and rtcur in rtcur
and runit in runit
and refdocct in refdocct
and refdocnr in refdocnr
and werks in werks
and rep_matnr in repmatnr "RDIP40K020663
and rscope in rscope "RDIP40K020663
and rclnt in rclnt. "dirty trick to mislead DB-optimizer
if sy-dbcnt > 1.
text1 = sy-dbcnt.
condense text1.
concatenate text1 text-m01 into text2 separated by space.
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = text2. " ... Datensätze gelesen
endif.
endselect.
Entfernt nicht zugehörige Einträge....................................
loop at i_glpca where ( not rprctr in v_prctr )
or ( not sprctr in v_pprctr )
or ( not racct in v_racct ).
delete i_glpca.
endloop.
endif.
*archiv
if read_ar = 'X' and not
( read_as is initial and lr_files[] is initial ).
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Lesen im Archiv'(p12).
define fill_lt_selections.
if not &2[] is initial.
clear ls_selections.
move &1 to ls_selections-fieldname.
loop at &2.
clear ls_selopt.
move-corresponding &2 to ls_selopt.
append ls_selopt to ls_selections-selopt_t.
endloop.
append ls_selections to lt_selections.
endif.
end-of-definition.
fill_lt_selections 'RLDNR' rldnr.
fill_lt_selections 'RRCTY' rrcty.
fill_lt_selections 'RVERS' rvers.
fill_lt_selections 'KOKRS' kokrs.
fill_lt_selections 'RBUKRS' bukrs.
fill_lt_selections 'POPER' poper.
fill_lt_selections 'RYEAR' ryear.
fill_lt_selections 'RPRCTR' prctr.
fill_lt_selections 'SPRCTR' pprctr.
fill_lt_selections 'RACCT' racct.
fill_lt_selections 'DRCRK' drcrk.
fill_lt_selections 'ACTIV' activ.
fill_lt_selections 'RHOART' rhoart.
fill_lt_selections 'RFAREA' rfarea. "note 401961
fill_lt_selections 'STAGR' stagr.
fill_lt_selections 'RTCUR' rtcur.
fill_lt_selections 'RUNIT' runit.
fill_lt_selections 'VERSA' versa.
fill_lt_selections 'EPRCTR' eprctr.
fill_lt_selections 'AFABE' afabe.
fill_lt_selections 'RMVCT' rmvct.
fill_lt_selections 'DOCCT' docct.
fill_lt_selections 'DOCNR' docnr.
fill_lt_selections 'REFDOCCT' refdocct.
fill_lt_selections 'REFDOCNR' refdocnr.
fill_lt_selections 'WERKS' werks.
fill_lt_selections 'REP_MATNR' repmatnr.
fill_lt_selections 'RSCOPE' rscope.
fill_lt_selections 'HRKFT' hrkft. "note 550972
fill_lt_selections 'SBUKRS' sbukrs. "note 550972
fill_lt_selections 'SHOART' shoart. "note 550972
fill_lt_selections 'SFAREA' sfarea. "note 550972
call function 'EC_PCA_SELECT_FROM_ARCHIVE'
exporting
i_selections = lt_selections[]
i_files_sequential_read = lr_files[]
importing
e_glpca = lt_glpca_archiv[]
exceptions
no_infostruc_found = 1.
if sy-subrc = 1.
message id sy-msgid type 'I' number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
clear i_glpca.
loop at lt_glpca_archiv assigning to i_glpca.
append i_glpca.
endloop.
endif.
if i_glpca[] is initial. "Info,nichts gefunden
message s000.
exit.
endif.
get texts for accounts ...............................................
sort i_glpca by kokrs racct.
loop at i_glpca assigning -racct_ktext = ls_rpcak-ktext.
endloop.
Liste mit Einzelposten geeignet sortieren.............................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Einzelposten sortieren'(p30).
if show_ref is initial.
sort i_glpca by rldnr ryear rbukrs rrcty rvers
docct docnr docln.
else.
sort i_glpca by rldnr kokrs ryear rbukrs rrcty rvers poper
refdocct refdocnr refdocln.
endif.
Berechtigungsprüfung und gemerkte Belege aufbereiten .................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Berechtigungsprüfungen'(p40).
clear: cnt_rldnr, cnt_kokrs, cnt_ryear, cnt_rvers, cnt_bukrs.
loop at i_glpca assigning .
Berechtigungscheck
perform check_repo_authority changing authorised.
if authorised is initial.
delete i_glpca.
s_message = 'X'.
zählen der Sätze ohne Berechtigung
auth_dbcount = auth_dbcount + 1.
else. "Weitere Bearbeitung nur für berechtigte Belege...
Zusätzlich merken der Anzahl der Ausprägungen
bestimmter Dimensionen
on change of -rbukrs
ct = '10'
importing
currency = hsl_curr.
endon.
externe Immobilienbezeichnung "ww/kb
on change of i_glpca-imkey.
if ( not -dabrz
I_length = 20
importing
e_empge = -konty.
endif.
CONCATENATE I_GLPCA-KONTY I_GLPCA-EMPGE INTO I_GLPCA-IMBEZ.
endif.
endon.
on change of i_glpca-dabrz.
call function 'REMD_IMKEY_TO_EMPGE'
exporting
i_imkey = i_glpca-imkey
i_dabrz = i_glpca-dabrz
i_length = 20
importing
e_empge = i_glpca-empge
e_konty = i_glpca-konty.
CONCATENATE I_GLPCA-KONTY I_GLPCA-EMPGE INTO I_GLPCA-IMBEZ.
endon.
Konvertierungsproblem mit PSP-Nummer bereinigen
if not -psppp.
endif.
endif.
Währungen in Hilfsfeldern speichern
if -ksl_curr = ksl_curr.
endif.
modify i_glpca.
endif.
endloop.
Nachricht, wenn nicht alle Einzelposten angezeigt werden.
if not s_message is initial.
message s407(km) with auth_dbcount.
endif.
EP ausgeben...........................................................
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
text = 'Einzelposten ausgeben'(p50).
t_layout-detail_initial_lines = 'X'.
t_layout-detail_popup = 'X'.
t_layout-f2code = 'PIC1'. "MICP40K039857
t_layout-get_selinfos = 'X'.
t_layout-group_change_edit = 'X'. "note 576149
perform fill_listheader.
perform fieldcat_fill.
perform spec_groups_fill.
perform events_fill. "MICP40K039857
">>MICP40K039857
call function 'K_KKB_LIST_DISPLAY'
exporting
i_callback_program = 'RCOPCA02'
i_callback_user_command = 'USR_CMD'
i_callback_top_of_page = 'TOP_OF_PAGE'
I_CALLBACK_END_OF_PAGE =
I_CALLBACK_END_OF_LIST =
i_callback_pf_status_set = 'SET_PF_STATUS'
I_CALLBACK_LAYOUT_SAVE =
I_CALLBACK_FIELDCAT_SAVE =
i_tabname = 'I_GLPCA'
is_layout = t_layout
it_fieldcat = t_fieldcat
I_FCTYPE = 'R'
IT_EXCLUDING =
it_special_groups = t_spec_groups
IT_SORT =
IS_SEL_HIDE =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
tables
t_outtab = i_glpca
exceptions
others = 1.
loop at i_glpca.
select single vbeln auart augru
into (l_vbeln, l_auart, l_augru)
from vbak where vbeln = i_glpca-aubel.
if sy-subrc = 0.
move l_auart to i_glpca-v_auart.
move l_augru to i_glpca-v_augru.
modify i_glpca.
endif.
endloop.
call function 'REUSE_ALV_GRID_DISPLAY'
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
exporting
I_INTERFACE_CHECK = ' '
i_callback_program = 'ZRCOPCA02'
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USR_CMD'
i_structure_name = 'I_GLPCA'
is_layout = t_layout
it_fieldcat = t_fieldcat
IT_EXCLUDING =
it_special_groups = t_spec_groups
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
i_default = 'X'
i_save = g_save
is_variant = g_variant
it_events = t_events
IT_EVENT_EXIT =
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
tables
t_outtab = i_glpca
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.
"<<MICP40K039857
clear i_glpca.
*& Form CHECK_REPO_AUTHORITY
Check only new auth-object K_PCA *
--> p1 text
<-- p2 text
form check_repo_authority changing authorized like authorised.
fill structure for userexit in K_PCA_RESP_AUTHORITY_CHECK
data: auth like pca_i_auth. "46a MIC check K_PCA and G_GLTP
auth-bukrs = -rrcty.
clear authorized.
check PrCtr/account/activity
call function 'K_PCA_RESP_AUTHORITY_CHECK'
exporting
i_kokrs = -racct
i_vorgn = 'REPP'
i_actvt = '28'
i_auth = auth
i_no_dialog_message = 'X'
exceptions
no_authority = 1
data_missing = 2
others = 3.
if sy-subrc = 0. "ok
check ledger/version/record type
call function 'PCA_G_GLTP_AUTH_CHECK'
exporting
rldnr = -rrcty
exceptions
no_authorisation = 1
others = 2.
if sy-subrc = 0. "ok, User is authorized
authorized = 'X'.
endif.
endif.
endform. " CHECK_REPO_AUTHORITY
*& Form INIT_VARS
Initialisieren diverser Hilfsvariablen und -tabellen *
form init_vars.
data begin of nametab occurs 80. "Tabelle mit Feldern aus der RPCA2
include structure dntab.
data end of nametab.
select single * from t000
client specified
where mandt = sy-mandt.
refresh nametab.
call function 'NAMETAB_GET'
exporting
only = 'T'
tabname = 'RPCA2'
tables
nametab = nametab.
Übernehmen der Feldnamen, die auch in der GLPCA
vorkommen.
loop at nametab where fieldname ne 'KSL_CURR'
and fieldname ne 'HSL_CURR'
and fieldname ne 'EMPGE' "ww/kb
and fieldname ne 'KONTY'. "ww/kb
move nametab-fieldname to tab_fields-name.
append tab_fields.
endloop.
fill Fields of receiver for BBS "MIC46C
call function 'RSTI_REPORT_FIELDS_FIND'
exporting
e_repid = 'RCOPCA02'
e_type = 'R'
tables
it_fields = bbs_fieldtab.
correct fieldnames
read table bbs_fieldtab with key rfield = 'PRCTR'.
if sy-subrc = 0.
bbs_fieldtab-rfield = 'RPRCTR'.
modify bbs_fieldtab index sy-tabix.
endif.
read table bbs_fieldtab with key rfield = 'PPRCTR'.
if sy-subrc = 0.
bbs_fieldtab-rfield = 'SPRCTR'.
modify bbs_fieldtab index sy-tabix.
endif.
read table bbs_fieldtab with key rfield = 'BUKRS'.
if sy-subrc = 0.
bbs_fieldtab-rfield = 'RBUKRS'.
modify bbs_fieldtab index sy-tabix.
endif.
Unicode
class cl_abap_char_utilities definition load.
clear hex00 with cl_abap_char_utilities=>minchar.
clear hexff with cl_abap_char_utilities=>maxchar.
endform. " INIT_VARS
FORM FILL_LISTHEADER *
List-Header in Abhängigkeit der selektierten Daten *
form fill_listheader.
read table i_glpca index 1.
if sy-subrc ne 0.
exit.
endif.
t_listheader-typ = 'S'.
t_listheader-key = 'Ledger '(h01).
if cnt_rldnr <= 1.
t_listheader-info = i_glpca-rldnr.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Kostenrechnungskreis'(h02).
if cnt_kokrs <= 1.
t_listheader-info = i_glpca-kokrs.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Buchungskreis '(h03).
if cnt_bukrs <= 1.
t_listheader-info = i_glpca-rbukrs.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
t_listheader-typ = 'S'.
t_listheader-key = 'Buchungsperiode '(h04).
if cnt_poper <= 1.
t_listheader-info = i_glpca-poper.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
if cnt_ryear <= 1.
t_listheader-typ = 'S'.
t_listheader-key = 'Geschäftsjahr '(h05).
t_listheader-info = i_glpca-ryear.
append t_listheader.
endif.
t_listheader-typ = 'S'.
t_listheader-key = 'Version '(h06).
if cnt_rvers <= 1.
t_listheader-info = i_glpca-rvers.
else.
t_listheader-info = '*'.
endif.
append t_listheader.
endform. "fill_listheader
*& Form FIELDCAT_FILL
*& Aufbau des Feldkataloges für den K_KKB_LIST_DISPLAY, *
*& bzw REUSE_ALV_LIST_DISPLAY, *
*& weitere Infos enthält die FktBaustein-Doku *
form fieldcat_fill.
data: i type i value 0.
refresh t_fieldcat.
Ledger
if cnt_rldnr > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RLDNR'.
afield-no_sum = 'X'.
afield-no_out = 'X'.
afield-key = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Satzart
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RRCTY'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
Version
if cnt_rvers > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RVERS'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Periode
if cnt_poper > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'POPER'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Geschäftsjahr
if cnt_ryear > 1.
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'RYEAR'.
afield-no_sum = 'X'.
afield-ref_tabname = 'GLPCA'.
afield-no_out = 'X'.
afield-sp_group = '1'.
append afield to t_fieldcat.
endif.
Referenzbelegtyp
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'REFDOCCT'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '2'.
afield-seltext_s = 'Typ'(t01).
afield-seltext_m = 'Belegtyp'(t02).
afield-seltext_l = 'Ref.Belegtyp'(t03).
afield-outputlen = 3. "Platz für die Sterne der Zwischensummen
if not show_ref is initial.
afield-key = 'X'.
else.
afield-no_out = 'X'.
endif.
append afield to t_fieldcat.
Referenzbelegnummer
add 1 to i.
clear afield.
afield-col_pos = i.
afield-fieldname = 'REFDOCNR'.
afield-ref_tabname = 'GLPCA'.
afield-key_sel = 'X'.
afield-no_sum = 'X'.
afield-sp_group = '2'.
afield-seltext_s = 'Refbeleg'(t04).
afield-seltext_m = 'Refbelegnr'(t05).
afield-seltext_l = 'Ref.Belegnummer'(t06).
if not show_ref is initial.
afield-key = 'X'.
else.
afield-no_out = 'X'.
endif.
appendHi Prabhu,
You are right, problem is with Field Catalog...
When I use FM 'REUSE_ALV_GRID_DISPLAY' it is dumping...
When i tried with FM 'REUSE_ALV_LIST_DISPLAY' it is working perfectly....
how can i use FM 'REUSE_ALV_GRID_DISPLAY' without dumping????
do i need to pass any thing in FM????
Here is the dump:
Runtime Errors MESSAGE_TYPE_X
Occurred on 12/21/2006 at 01:03:24
The current application triggered a termination with a short dump.
What happened?
The current application program detected a situation which really
should not occur. Therefore, a termination with a short dump was
triggered on purpose by the key word MESSAGE (type X).
Error analysis
Short text of error message:
Technical information about the message:
Message classe...... "0K "
Number.............. 000
User, transaction...
Language key........ "E"
Transaction......... "SE38 "
Program............. "SAPLSLVC "
Screen.............. "SAPLSLVC_FULLSCREEN 0500"
Screen line......... 3
Information on where termination occurred
The termination occurred in the ABAP program "SAPLSLVC " in "LINE_OUT_NEW_2".
The main program was "ZRCOPCA02 ".
The termination occurred in line 918 of the source code of the (Include)
program "LSLVCF01 "
of the source code of program "LSLVCF01 " (when calling the editor 9180).
Source code extract
008880 gs_roid-row_id = rs_row-index * -1.
008890 endif.
008900 gs_roid-sub_row_id = rs_row-rowtype+7(10).
008910 gs_poid-row_id = gs_roid-row_id.
008920 gs_poid-sub_row_id = gs_roid-sub_row_id.
008930 gs_poid-rowtype = rs_row-rowtype.
008940 gs_poid-index = rs_row-index.
008950 insert gs_poid into table rt_poid.
008960 endif.
008970 append gs_roid to rt_roid.
008980
008990 loop at rt_fieldcat assigning <ls_fieldcat> where tech ne 'X' and
009000 no_out ne 'X'.
009010
009020 if gflg_invisible = 'X'.
009030 if <ls_fieldcat>-do_sum is initial.
009040 clear gflg_invisible.
009050 continue.
009060 else.
009070 clear g_col_counter.
009080 clear gflg_invisible.
009090 endif.
009100 endif.
009110
009120 clear gs_lvc_data.
009130 clear g_style.
009140
009150 assign component
009160 <ls_fieldcat>-fieldname of structure rt_data to <g_field>.
009170 if sy-subrc ne 0.
> message x000(0k).
009190 endif.
009200
009210 g_col_counter = g_col_counter + 1.
009220
009230 gs_lvc_data-row_pos = r_row_counter.
009240 gs_lvc_data-col_pos = g_col_counter.
009250 gs_lvc_data-row_id = gs_roid-row_id.
009260 gs_lvc_data-sub_row_id = gs_roid-sub_row_id.
009270
009280 * Endtotal and average
009290 if rs_row-rowtype(1) ca 'T' and <ls_fieldcat>-do_sum = 'C'.
009300 * save the actual grouplevel information
009310 gs_grouplevels = rs_grouplevels.
009320 clear g_lines.
009330
009340 * get number of lines of the collect table
009350 describe table rt_data lines g_lines.
009360 * if there is only one line or the field has no references so
009370 * that only the first line has to be considered
Thanks,
fractal
null -
Hi forum,
Pls help me out...I'm getting short dump if i execute this..
pls correct the code.......
REPORT ZPAY_REG NO STANDARD PAGE HEADING line-size 150 line-count
65(3).
TYPE-POOLS: slis.
TABLES:
payr,
t012,
t012k,
t51r5.
Data : begin of it occurs 0,
zbukr like payr-zbukr, "paying company code
hbkid like payr-hbkid, "house bank id
hktid like payr-hktid, "account id
bankl like t012-bankl, "bank key
bankn like t012k-bankn, "bank account
checf like payr-checf, "check number
waers like payr-waers, "currency
rwbtr like payr-rwbtr, "amount
bancd like payr-bancd, "check encashment date
vblnr like payr-vblnr, "payment document no
pernr like payr-pernr, "personnel number
voidr like payr-voidr, "void reason code
rzawe like payr-rzawe, "payment method
laufd like payr-laufd, "checks from payment run
empfg like payr-empfg, "payee code
gjahr like payr-gjahr, "fiscal year
duedt like t51r5-duedt, "due date
zaldt like payr-zaldt, "payment date
znme1 like payr-znme1, "payee name
rec_belnr like payr-rec_belnr, " voucher number
end of it.
*"Payment Register
*A listing of payments made by vendor for a specific payment run or
*group of runs. Data elements include but not limited to:
** Payment date
* Pay
* Payment number
* Payee name/number
* Voucher number
* Amount
* Period from/to
*Frequency: Every payment run, ad hoc for a timeframe, monthly
DATA: it_fldcat TYPE slis_fieldcat_alv OCCURS 0,
wa_fldcat TYPE slis_fieldcat_alv.
DATA : it_sort TYPE slis_sortinfo_alv OCCURS 0,
wa_sort TYPE slis_sortinfo_alv.
DATA: it_events TYPE slis_t_event,
wa_events TYPE slis_alv_event.
"DATA : v_txt TYPE string.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_zaldt FOR payr-zaldt, " payment date
s_vblnr FOR payr-vblnr, " payment document number
s_znme1 FOR payr-znme1, " payee name
s_rec FOR payr-rec_belnr, "voucher number
s_waers for payr-waers. "amount
s_duedt for t51r5-duedt. "due date
SELECTION-SCREEN END OF BLOCK b1.
SELECT a~zbukr
a~hbkid
a~hktid
a~checf
a~waers
a~rwbtr
a~bancd
a~vblnr
a~pernr
a~voidr
a~rzawe
a~laufd
a~empfg
a~gjahr
a~zaldt
a~znme1
a~rec_belnr
b~bankl
c~bankn
d~duedt
INTO CORRESPONDING FIELDS OF TABLE it
FROM payr AS a
INNER JOIN t012 AS b
ON ahbkid = bhbkid
inner join t012k as c
on bhbkid = chbkid
and on ahbkid = chbkid
inner join t51r5 as d
on cbukrs = dbukrs
and on awaers = dwaers
WHERE a~zaldt IN s_zaldt
AND a~vblnr IN s_vblnr
AND a~znme1 IN s_znme1
AND a~rec_belnr IN s_rec
AND a~waers IN s_waers.
loop at it.
write : / it-zbukr, it-hbkid, it-hktid, it-checf, it-waers, it-rwbtr,
it-bancd, it-vblnr, it-pernr, it-voidr, it-rzawe, it-laufd, it-empfg,
it-gjahr, it-zaldt, it-znme1, it-rec_belnr, it-bankl, it-bankn, it-duedt
endloop.
**--show data--
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' "Displaying data in grid format
EXPORTING
i_callback_program = sy-repid
it_fieldcat = it_fldcat "fieldcatalog
it_sort = it_sort[] "Sort
it_events = it_events
TABLES
t_outtab = it "internal table to output
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.
" SHOW_DATA
PERFORM BUILD_FLDCAT.
*& Form BUILD_FLDCAT
FORM build_fldcat .
DEFINE bld_fcat. "Macro to create manual field catalog
wa_fldcat-col_pos = &1.
wa_fldcat-fieldname = &2.
wa_fldcat-outputlen = &3.
wa_fldcat-seltext_s = &4.
wa_fldcat-ddictxt = &5.
append wa_fldcat to it_fldcat.
clear wa_fldcat.
END-OF-DEFINITION.
bld_fcat 1 'zbukr' 4 'Payee Company Code' 'L'.
bld_fcat 2 'hbkid' 5 'Short Key for a house bank' 'L'.
bld_fcat 3 'hktid' 5 'ID for account details' 'L'.
bld_fcat 4 'checf' 13 'Check number from' 'L'.
bld_fcat 5 'waers' 5 'Currency Key' 'L'.
bld_fcat 6 'rwbtr' 13 'Amount paid in tha payment currency' 'L'.
bld_fcat 7 'bancd' 8 'Check encashment date' 'L'.
bld_fcat 8 'vblnr' 10 'Document number of the payment document' 'L'.
bld_fcat 9 'pernr' 8 'Personnel number' 'L'.
bld_fcat 10 'voidr' 2 'Check region code' 'L'.
bld_fcat 11 'rzawe' 1 'payment method' 'L'.
bld_fcat 12 'laufd' 8 'Date on which the program is to be run' 'L'.
bld_fcat 13 'empfg' 16 'Payee code' 'L'.
bld_fcat 14 'gjahr' 4 'Fiscal Year' 'L'.
bld_fcat 15 'zaldt' 8 'Probable payment date' 'L'.
bld_fcat 16 'znme1' 35 'Payee Name' 'L'.
bld_fcat 17 'rec_belnr' 10 'Accounting Document Number Ref to Vocher Number' 'L'.
bld_fcat 18 'bankl' 15 'Bank key' 'L'.
bld_fcat 19 'bankn' 18 'Bank account number' 'L'.
bld_fcat 20 'duedt' 8 'Due Date' 'L'.
LOOP AT it_fldcat INTO wa_fldcat.
IF wa_fldcat-fieldname = 'LIFNR'.
wa_fldcat-key = 'X'.
ELSEIF wa_fldcat-fieldname = 'DMBTR'.
wa_fldcat-do_sum = 'X'.
ELSEIF wa_fldcat-fieldname = 'WRBTR'.
wa_fldcat-do_sum = 'X'.
ENDIF.
MODIFY it_fldcat FROM wa_fldcat.
CLEAR wa_fldcat.
ENDLOOP.
ENDFORM.Hi Mahathi,
Please check the below code which is corrected.
*& Report ZPAY_REG *
REPORT ZPAY_REG NO STANDARD PAGE HEADING line-size 150 line-count
65(3).
TYPE-POOLS: slis.
TABLES:
payr,
t012,
t012k,
t51r5.
DATA : BEGIN OF it OCCURS 0,
zbukr LIKE payr-zbukr, "paying company code
hbkid LIKE payr-hbkid, "house bank id
hktid LIKE payr-hktid, "account id
bankl LIKE t012-bankl, "bank key
bankn LIKE t012k-bankn, "bank account
checf LIKE payr-checf, "check number
waers LIKE payr-waers, "currency
rwbtr LIKE payr-rwbtr, "amount
bancd LIKE payr-bancd, "check encashment date
vblnr LIKE payr-vblnr, "payment document no
pernr LIKE payr-pernr, "personnel number
voidr LIKE payr-voidr, "void reason code
rzawe LIKE payr-rzawe, "payment method
laufd LIKE payr-laufd, "checks from payment run
empfg LIKE payr-empfg, "payee code
gjahr LIKE payr-gjahr, "fiscal year
duedt LIKE t51r5-duedt, "due date
zaldt LIKE payr-zaldt, "payment date
znme1 LIKE payr-znme1, "payee name
rec_belnr LIKE payr-rec_belnr, " voucher number
END OF it.
*"Payment Register
*A listing of payments made by vendor for a specific payment run or
*group of runs. Data elements include but not limited to:
** Payment date
* Pay
* Payment number
* Payee name/number
* Voucher number
* Amount
* Period from/to
*Frequency: Every payment run, ad hoc for a timeframe, monthly
DATA: it_fldcat TYPE slis_fieldcat_alv OCCURS 0,
wa_fldcat TYPE slis_fieldcat_alv.
DATA : it_sort TYPE slis_sortinfo_alv OCCURS 0,
wa_sort TYPE slis_sortinfo_alv.
DATA: it_events TYPE slis_t_event,
wa_events TYPE slis_alv_event.
"DATA : v_txt TYPE string.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_zaldt FOR payr-zaldt, " payment date
s_vblnr FOR payr-vblnr, " payment document number
s_znme1 FOR payr-znme1, " payee name
s_rec FOR payr-rec_belnr, "voucher number
s_waers FOR payr-waers, "amount
s_duedt FOR t51r5-duedt. "due date
SELECTION-SCREEN END OF BLOCK b1.
SELECT a~zbukr
a~hbkid
a~hktid
a~checf
a~waers
a~rwbtr
a~bancd
a~vblnr
a~pernr
a~voidr
a~rzawe
a~laufd
a~empfg
a~gjahr
a~zaldt
a~znme1
a~rec_belnr
b~bankl
c~bankn
d~duedt
INTO CORRESPONDING FIELDS OF TABLE it
FROM payr AS a
INNER JOIN t012 AS b
ON ahbkid = bhbkid
INNER JOIN t012k AS c
ON bhbkid = chbkid
AND ahbkid = chbkid
INNER JOIN t51r5 AS d
ON cbukrs = dbukrs
AND awaers = dwaers
WHERE a~zaldt IN s_zaldt
AND a~vblnr IN s_vblnr
AND a~znme1 IN s_znme1
AND a~rec_belnr IN s_rec
AND a~waers IN s_waers.
*LOOP AT it.
WRITE : / it-zbukr, it-hbkid, it-hktid, it-checf, it-waers, it-rwbtr,
it-bancd, it-vblnr, it-pernr, it-voidr, it-rzawe, it-laufd, it-empfg,
*it-gjahr, it-zaldt, it-znme1, it-rec_belnr, it-bankl, it-bankn,
*it-duedt
*ENDLOOP.
*--show data--
" SHOW_DATA
PERFORM build_fldcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' "Displaying data in grid format
EXPORTING
i_callback_program = sy-repid
it_fieldcat = it_fldcat[] "fieldcatalog
it_sort = it_sort[] "Sort
it_events = it_events
TABLES
t_outtab = it "internal table to output
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.
*& Form BUILD_FLDCAT
FORM build_fldcat .
DEFINE bld_fcat. "Macro to create manual field catalog
wa_fldcat-col_pos = &1.
wa_fldcat-fieldname = &2.
wa_fldcat-outputlen = &3.
wa_fldcat-seltext_s = &4.
wa_fldcat-ddictxt = &5.
append wa_fldcat to it_fldcat.
clear wa_fldcat.
END-OF-DEFINITION.
bld_fcat 1 'zbukr' 4 'Payee Company Code' 'L'.
bld_fcat 2 'hbkid' 5 'Short Key for a house bank' 'L'.
bld_fcat 3 'hktid' 5 'ID for account details' 'L'.
bld_fcat 4 'checf' 13 'Check number from' 'L'.
bld_fcat 5 'waers' 5 'Currency Key' 'L'.
bld_fcat 6 'rwbtr' 13 'Amount paid in tha payment currency' 'L'.
bld_fcat 7 'bancd' 8 'Check encashment date' 'L'.
bld_fcat 8 'vblnr' 10 'Document number of the payment document' 'L'.
bld_fcat 9 'pernr' 8 'Personnel number' 'L'.
bld_fcat 10 'voidr' 2 'Check region code' 'L'.
bld_fcat 11 'rzawe' 1 'payment method' 'L'.
bld_fcat 12 'laufd' 8 'Date on which the program is to be run' 'L'.
bld_fcat 13 'empfg' 16 'Payee code' 'L'.
bld_fcat 14 'gjahr' 4 'Fiscal Year' 'L'.
bld_fcat 15 'zaldt' 8 'Probable payment date' 'L'.
bld_fcat 16 'znme1' 35 'Payee Name' 'L'.
bld_fcat 17 'rec_belnr' 10 'Account DocuNumberRef to Vocher Number' 'L'.
bld_fcat 18 'bankl' 15 'Bank key' 'L'.
bld_fcat 19 'bankn' 18 'Bank account number' 'L'.
bld_fcat 20 'duedt' 8 'Due Date' 'L'.
LOOP AT it_fldcat INTO wa_fldcat.
IF wa_fldcat-fieldname = 'LIFNR'.
wa_fldcat-key = 'X'.
ELSEIF wa_fldcat-fieldname = 'DMBTR'.
wa_fldcat-do_sum = 'X'.
ELSEIF wa_fldcat-fieldname = 'WRBTR'.
wa_fldcat-do_sum = 'X'.
ENDIF.
MODIFY it_fldcat FROM wa_fldcat.
CLEAR wa_fldcat.
ENDLOOP.
ENDFORM. "build_fldcat
Please reward points if it is answered and close the thread.
Regards,
Hari -
Short dump in alv too many parameters in perform)
I M GETTING PROBLEM IN THIS PROGRAM AGAIN.
Getting short dump too many paramamerets in perform
<CODE>Report Z_50840_ALV
Line-size 80
Line-count 64
Message-id ZZ
No Standard Page Heading.
Copyright statement *
@ copyright 2007 by Intelligroup Inc. *
Program Details *
Program Name: Z_50840_ALV
Date : 19.07.2007
Author : Vasudevaraman V
Description : Test Program
Transport No:
Change Log *
Date :
Author :
Description :
Transport No:
Tables *
Tables: vbrk.
Type Pools *
Type-Pools: SLIS.
Variables *
Data: GV_REPID TYPE SY-REPID.
Structures *
Data: BEGIN OF GIT_VBRK OCCURS 0,
VBELN LIKE VBRK-VBELN, "Billing Document
FKART LIKE VBRK-FKART, "Billing Type
KNUMV LIKE VBRK-KNUMV, "Number of the document condition
BUKRS LIKE VBRK-BUKRS, "Company code
NETWR LIKE VBRK-NETWR, "Net value in document currency
WAERK LIKE VBRK-WAERK, "SD document currency in basic list
END OF GIT_VBRK,
GIT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT TYPE slis_fieldcat_alv,
GIT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE SLIS_ALV_EVENT.
Field Symbols *
Field-symbols: <fs_xxxx>.
Selection Screen *
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN.
PARAMETERS: LISTDISP RADIOBUTTON GROUP G1,
GRIDDISP RADIOBUTTON GROUP G1 DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK B1.
Initialization *
Initialization.
GV_REPID = SY-REPID.
At Selection Screen *
At selection-screen.
Start Of Selection *
Start-of-selection.
SET PF-STATUS 'ABC'(001).
PERFORM GET_BILLING_DETAILS.
PERFORM FIELD_CATALOGUE.
PERFORM GET_EVENTS.
End Of Selection *
End-of-selection.
PERFORM DISPLAY_BILLING_DETAILS.
Top Of Page *
Top-of-page.
End Of Page *
End-of-page.
*& Form GET_BILLING_DETAILS
text
--> p1 text
<-- p2 text
FORM GET_BILLING_DETAILS .
SELECT VBELN
FKART
KNUMV
BUKRS
NETWR
WAERK
FROM VBRK
INTO TABLE GIT_VBRK
WHERE VBELN IN S_VBELN.
IF SY-SUBRC = 0.
SORT GIT_VBRK BY VBELN.
ENDIF.
ENDFORM. " GET_BILLING_DETAILS
*& Form FIELD_CATALOGUE
text
--> p1 text
<-- p2 text
FORM FIELD_CATALOGUE .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = GV_REPID
I_INTERNAL_TABNAME = 'GIT_VBRK'
I_STRUCTURE_NAME = I_STRUCTURE_NAME
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = GV_REPID
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = ' '
CHANGING
CT_FIELDCAT = GIT_FCAT
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.
ENDFORM. " FIELD_CATALOGUE
*& Form DISPLAY_BILLING_DETAILS
text
--> p1 text
<-- p2 text
FORM DISPLAY_BILLING_DETAILS .
IF LISTDISP = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GV_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME = I_STRUCTURE_NAME
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = GIT_FCAT
IT_EXCLUDING = IT_EXCLUDING
IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
IT_SORT = IT_SORT
IT_FILTER = IT_FILTER
IS_SEL_HIDE = IS_SEL_HIDE
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = IS_VARIANT
IT_EVENTS = GIT_EVENTS
IT_EVENT_EXIT = IT_EVENT_EXIT
IS_PRINT = IS_PRINT
IS_REPREP_ID = IS_REPREP_ID
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IR_SALV_LIST_ADAPTER = IR_SALV_LIST_ADAPTER
IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
TABLES
T_OUTTAB = GIT_VBRK
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.
ELSE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GV_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME = I_STRUCTURE_NAME
I_BACKGROUND_ID = ' '
I_GRID_TITLE = I_GRID_TITLE
I_GRID_SETTINGS = I_GRID_SETTINGS
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = GIT_FCAT
IT_EXCLUDING = IT_EXCLUDING
IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS
IT_SORT = IT_SORT
IT_FILTER = IT_FILTER
IS_SEL_HIDE = IS_SEL_HIDE
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT = IS_VARIANT
IT_EVENTS = GIT_EVENTS
IT_EVENT_EXIT = IT_EVENT_EXIT
IS_PRINT = IS_PRINT
IS_REPREP_ID = IS_REPREP_ID
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS = IT_ALV_GRAPHICS
IT_HYPERLINK = IT_HYPERLINK
IT_ADD_FIELDCAT = IT_ADD_FIELDCAT
IT_EXCEPT_QINFO = IT_EXCEPT_QINFO
IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER
IMPORTING
E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER
TABLES
T_OUTTAB = GIT_VBRK
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.
ENDIF.
ENDFORM. " DISPLAY_BILLING_DETAILS
*& Form GET_EVENTS
text
--> p1 text
<-- p2 text
FORM GET_EVENTS .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = GIT_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 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.
LOOP AT GIT_EVENTS INTO WA_EVENTS.
CASE WA_EVENTS-NAME.
WHEN 'USER_COMMAND'.
WA_EVENTS-FORM = 'USER_COMMAND'.
ENDCASE.
MODIFY GIT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
ENDLOOP.
ENDFORM. " GET_EVENTS
FORM USER_COMMAND.
WRITE :/ 'USER_COMMAND'.
ENDFORM.</CODE>.
REGARDS,
SURAJI have run the program in my system and getting the following display instead of dump.
Bill.Doc. BillT Doc.cond. CoCd Net value Curr.
90000763 B2 0000002800 1000 0.00 DEM
90005177 F2 0000012141 1000 5,500.00 DEM
90005178 F2 0000012144 1000 32,838.00 DEM
90005179 F2 0000012146 1000 6,100.00 DEM
90005180 F2 0000012147 1000 6,100.00 DEM
90005182 S1 0000012226 1000 5,500.00 DEM
90005183 S1 0000012227 1000 32,838.00 DEM
90005184 S1 0000012228 1000 6,100.00 DEM
90005185 S1 0000012229 1000 6,100.00 DEM
90005186 F2 0000012230 1000 6,100.00 DEM
90005187 F2 0000012231 1000 6,100.00 DEM
90005188 F2 0000012232 1000 32,778.00 DEM
90005189 F2 0000012233 1000 34,354.00 DEM
90005190 F2 0000012234 1000 19,991.00 DEM
90005191 F2 0000012235 1000 19,719.00 DEM
90005192 F2 0000012236 1000 43,004.00 DEM
90005193 F2 0000012237 1000 9,242.00 DEM
90005194 F2 0000012238 1000 12,156.00 DEM
90005195 F2 0000012239 1000 7,294.00 DEM
90005196 F2 0000012240 1000 9,694.00 DEM
90005197 F2 0000012241 1000 32,838.00 DEM
90005198 F2 0000012242 1000 9,352.00 DEM
90005199 F2 0000012243 1000 13,013.00 DEM -
Short dump while doing subtotal in the ALV report
Hi All,
I am getting run time error while doing the sub total and total in the ALV .
error is "MESSAGE_TYPE_X" and
discription is "The current application program detected a situation which really
should not occur. Therefore, a termination with a short dump was
triggered on purpose by the key word MESSAGE (type X)."
Can anyone help me regarding this.
My alv field catog is like below
DATA: ls_fieldcat TYPE slis_fieldcat_alv,
ls_sort TYPE SLIS_SORTINFO_ALV.
CLEAR:ls_fieldcat,
ls_sort.
REFRESH ot_fieldcat.
ls_fieldcat-FIELDNAME = 'LEASE_NUMBER'.
ls_fieldcat-SELTEXT_M = 'Lease Number'(001).
ls_fieldcat-COL_POS = 0.
ls_fieldcat-OUTPUTLEN = 10.
ls_fieldcat-DO_SUM = 'X'.
ls_fieldcat-KEY = 'X'.
APPEND ls_fieldcat TO ot_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-FIELDNAME = 'LEASE_TYPE'.
ls_fieldcat-SELTEXT_M = 'Lease Type'(002).
ls_fieldcat-COL_POS = 1.
ls_fieldcat-OUTPUTLEN = 5.
APPEND ls_fieldcat TO ot_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-FIELDNAME = 'LEGACY_NUM'.
ls_fieldcat-SELTEXT_M = 'Legacy Contract No'(003).
ls_fieldcat-COL_POS = 2.
ls_fieldcat-OUTPUTLEN = 10.
APPEND ls_fieldcat TO ot_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-FIELDNAME = 'CUSTOMER'.
ls_fieldcat-SELTEXT_M = 'Customer'(004).
ls_fieldcat-COL_POS = 3.
APPEND ls_fieldcat TO ot_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-FIELDNAME = 'STATUS'.
ls_fieldcat-SELTEXT_M = 'Status'(017).
ls_fieldcat-COL_POS = 16.
ls_fieldcat-OUTPUTLEN = 10.
APPEND ls_fieldcat TO ot_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-FIELDNAME = 'GATEIN_DT'.
ls_fieldcat-SELTEXT_M = 'Gate In Date'(018).
ls_fieldcat-COL_POS = 17.
ls_fieldcat-OUTPUTLEN = 10.
APPEND ls_fieldcat TO ot_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-FIELDNAME = 'SVALUE'.
ls_fieldcat-COL_POS = 18.
ls_fieldcat-DO_SUM = 'X'.
ls_fieldcat-OUTPUTLEN = 12.
APPEND ls_fieldcat TO ot_fieldcat.
CLEAR ls_fieldcat.
DATA SORTING AND SUBTOTAL
CLEAR ls_sort.
ls_sort-FIELDNAME = 'LEASE_NUMBER'.
ls_sort-SPOS = 0.
ls_sort-UP = 'X'.
ls_sort-SUBTOT = 'X'.
APPEND ls_sort TO GT_SORT.
If i coment the code relate dto 'SVALUE' i am getting output without sub total and total.
if i uncomment the same then I am getting short dump.Hi,
Try this coding,
TYPE-POOLS: SLIS. " ALV GLOBAL TYPES
* FORM F_READ_DATA
FORM F_READ_DATA.
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_VBAK
FROM VBAK
UP TO P_MAX ROWS
WHERE KUNNR IN S_KUNNR
AND VBELN IN S_VBELN
AND VKORG IN S_VKORG.
ENDFORM. " F_READ_DATA
* FORM F_DISPLAY_DATA
FORM F_DISPLAY_DATA.
DEFINE M_FIELDCAT.
ADD 1 TO LS_FIELDCAT-COL_POS.
LS_FIELDCAT-FIELDNAME = &1.
LS_FIELDCAT-REF_TABNAME = 'VBAK'.
LS_FIELDCAT-DO_SUM = &2.
LS_FIELDCAT-CFIELDNAME = &3.
APPEND LS_FIELDCAT TO LT_FIELDCAT.
END-OF-DEFINITION.
DEFINE M_SORT.
ADD 1 TO LS_SORT-SPOS.
LS_SORT-FIELDNAME = &1.
LS_SORT-UP = 'X'.
LS_SORT-SUBTOT = &2.
APPEND LS_SORT TO LT_SORT.
END-OF-DEFINITION.
DATA:
LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
LT_SORT TYPE SLIS_T_SORTINFO_ALV,
LS_SORT TYPE SLIS_SORTINFO_ALV,
LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
M_FIELDCAT 'VKORG' '' ''.
M_FIELDCAT 'KUNNR' '' ''.
M_FIELDCAT 'VBELN' '' ''.
M_FIELDCAT 'NETWR' 'X' 'WAERK'.
M_FIELDCAT 'WAERK' '' ''.
M_SORT 'VKORG' 'X'. " SORT BY VKORG AND SUBTOTAL
M_SORT 'KUNNR' 'X'. " SORT BY KUNNR AND SUBTOTAL
M_SORT 'VBELN' ''. " SORT BY VBELN
LS_LAYOUT-CELL_MERGE = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IS_LAYOUT = LS_LAYOUT
IT_FIELDCAT = LT_FIELDCAT
IT_SORT = LT_SORT
TABLES
T_OUTTAB = GT_VBAK.
ENDFORM. " F_DISPLAY_DATA
Regards,
Nikhil. -
Program giving dump when run in background
Hi All,
I have an ALV report in which I am using REUSE_ALV_GRID_DISPLAY.
The report works perfectly in foreground. But when I execute in background I am getting dump.
Dump details are given below.
ShrtText
Unable to fulfil request for 134217728 bytes of memory space.
What happened?
Each transaction requires some main memory space to process
application data. If the operating system cannot provide any more
space, the transaction is terminated.
What can you do?
Try to find out (e.g. by targetted data selection) whether the
transaction will run with less main memory.
If there is a temporary bottleneck, execute the transaction again
If the error persists, ask your system administrator to check the
following profile parameters:
o ztta/roll_area (1.000.000 - 15.000.000)
Classic roll area per user and internal mode
usual amount of roll area per user and internal mode
o ztta/roll_extension (10.000.000 - 500.000.000)
Amount of memory per user in extended memory (EM)
o abap/heap_area_total (100.000.000 - 1.500.000.000)
Amount of memory (malloc) for all users of an application
server. If several background processes are running on
one server, temporary bottlenecks may occur.
Of course, the amount of memory (in bytes) must also be
available on the machine (main memory or file system swap).
Caution:
The operating system must be set up so that there is also
enough memory for each process. Usually, the maximum address
space is too small.
Ask your hardware manufacturer or your competence center
about this.
In this case, consult your hardware vendor
abap/heap_area_dia: (10.000.000 - 1.000.000.000)
Restriction of memory allocated to the heap with malloc
for each dialog process.
Parameters for background processes:
abap/heap_area_nondia: (10.000.000 - 1.000.000.000)
Restriction of memory allocated to the heap with malloc
for each background process.
Other memory-relevant parameters are:
em/initial_size_MB: (35-1200)
Extended memory area from which all users of an
application server can satisfy their memory requirement.
Make a note of the actions and input which caused the error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
Error analysis
More main memory area was requested.
However, all the available space has been used up.
Possible reasons:
- Many (large) internal tables.
- Many (large) programs active.
- Deep nesting of subroutines with a lot of local data.
Can you please help on this ?Hi,
Check you code properly.
The dump is because of an infinite loop which is running when you run the program in background and it is keeping appending or inserting the same table.
Check teh same.
regards,
Ankur Parab -
Hi Folks,
I am getting the following dump error.Can any one here please throw some light on this.
Field too small when calculating totals in internal table.
<b>In the internal table "\PROGRAM=ZFI\DATA=IT_HEADER[]", a SUM statement is used to calculate totals. However, the values are too large for the designated field.
The name of the field is "KURSF".
The name of the field is "KURSF".</b>
The field "KURSF" in the program "ZFIR_IMPORT_REGISTER"
be a different
type (e.g. type P of appropriate length).
REPORT ZFI.
TABLES: rbkp,
rseg,
bset,
mara,
lfa1,
ekko,
t161t.
TYPE-POOLS: slis.
TYPES: BEGIN OF TY_CUSTOM,
WRBTR TYPE RSEG-WRBTR,
KSCHL TYPE RSEG-KSCHL,
EBELN TYPE RSEG-EBELN,
EBELP TYPE RSEG-EBELP,
END OF TY_CUSTOM.
TYPES: BEGIN OF ty_itab,
lfbnr LIKE rseg-lfbnr, " GR NO
belnr LIKE rbkp-belnr, " MIRO doc.no.
buzei LIKE rseg-buzei, " MIRO line item number
fidoc LIKE bkpf-belnr, " accounting doc.no.
matnr LIKE rseg-matnr, " Material number
maktx LIKE makt-maktx, " material description
xblnr LIKE rbkp-xblnr, " Reference Document Number
budat LIKE rbkp-budat, " Posting Date in Document
mwskz LIKE rseg-mwskz, " Tax Code
bklas LIKE rseg-bklas, " Valuation Class
menge LIKE rseg-menge, " Quantity
gjahr LIKE rseg-gjahr, " Fiscal Year
bldat LIKE rbkp-bldat, " Document Date
lifnr TYPE rbkp-lifnr, "Vendor Code
stcd1 TYPE lfa1-stcd1, "Tin number
matkl TYPE mara-matkl, "Mat Desc
name1 TYPE lfa1-name1, "Vendor Name
awkey TYPE bkpf-awkey, "Reference Key
str_suppl1 TYPE adrc-str_suppl1, "Street
post_code1 TYPE adrc-post_code1, "Pincode
city1 TYPE adrc-city1, "City
region TYPE adrc-region, "Region
adrnr TYPE lfa1-adrnr, "Address Number
dms(3) TYPE c, "DMS
werks TYPE rseg-werks, "PLANT
bukrs TYPE rseg-bukrs, "COMPANY CODE
stblg TYPE rbkp-stblg, "DOCUMENT REVERSAL INDICATOR
mtart TYPE mara-mtart, "MATERIAL TYPE
wrbtr TYPE rseg-wrbtr, "Base Amount
tax_amount TYPE konv-kwert, "Tax amount for summary
vgart TYPE rbkp-vgart, "Transaction Type
ivtyp TYPE rbkp-ivtyp, "Invoice Category
reverse(2), "Invoice Reversed
land1 TYPE lfa1-land1, "Country Key
*Fields added for customs
BED TYPE RSEG-WRBTR, "BASIC ED FOR CUSTOMS
CVD TYPE RSEG-WRBTR, "CVD FOR CUSTOMS
ECVD TYPE RSEG-WRBTR, "CESS ON VD FOR CUSTOMS
ECED TYPE RSEG-wrbtr, "CESS ON DUTIES
lfgja type rseg-lfgja, "Mat Doc Year
frbnr type mkpf-frbnr, "Bill of Lading No
waers type rbkp-waers,
txz01 TYPE ekpo-txz01, "Short Text for Material
ebeln TYPE rseg-ebeln, "Purchasing Doc
bsart type ekko-bsart, "Pur.Doc Type
batxt type t161t-batxt, "Desc for Pur Doc.Type
ebelp TYPE ekpo-ebelp, "Purchase Ord Ln Item
NCVD TYPE RSEG-WRBTR, "CESS ON VD FOR CUSTOMS
SBED TYPE RSEG-wrbtr, "CESS ON DUTIES
TEXT(30),
qtr_yr(4),
qtr_mth(10),
*Fields added for Inr Value for exchange rate
kursf type rbkp-kursf,
inrval type rseg-wrbtr,
BELNR1 TYPE RBKP-BELNR,
remarks(15),
END OF ty_itab.
TYPES: BEGIN OF ty_header,
belnr LIKE rbkp-belnr, " MIRO doc.no.
fidoc LIKE bkpf-belnr, " accounting doc.no.
xblnr LIKE rbkp-xblnr, " Reference Document Number
budat LIKE rbkp-budat, " Posting Date in Document
mwskz LIKE rseg-mwskz, " Tax Code
bklas LIKE rseg-bklas, " Valuation Class
gjahr LIKE rseg-gjahr, " Fiscal Year
bldat LIKE rbkp-bldat, " Document Date
lifnr TYPE rbkp-lifnr, "Vendor Code
stcd1 TYPE lfa1-stcd1, "Tin number
name1 TYPE lfa1-name1, "Vendor Name
awkey TYPE bkpf-awkey, "Reference Key
str_suppl1 TYPE adrc-str_suppl1, "Street
post_code1 TYPE adrc-post_code1, "Pincode
city1 TYPE adrc-city1, "City
region TYPE adrc-region, "Region
adrnr TYPE lfa1-adrnr, "Address Number
dms(3) TYPE c, "DMS
werks TYPE rseg-werks, "PLANT
bukrs TYPE rseg-bukrs, "COMPANY CODE
stblg TYPE rbkp-stblg, "DOCUMENT REVERSAL INDICATOR
mtart TYPE mara-mtart, "MATERIAL TYPE
wrbtr TYPE rseg-wrbtr, "Base Amount
tax_amount TYPE konv-kwert, "Tax amount for summary
vgart TYPE rbkp-vgart, "Transaction Type
ivtyp TYPE rbkp-ivtyp, "Invoice Category
reverse(2), "Invoice Reversed
land1 TYPE lfa1-land1, "Country Key
BED TYPE RSEG-WRBTR, "BASIC ED FOR CUSTOMS
CVD TYPE RSEG-WRBTR, "CVD FOR CUSTOMS
ECVD TYPE RSEG-WRBTR, "CESS ON VD FOR CUSTOMS
ECED TYPE RSEG-wrbtr, "CESS ON DUTIES
lfgja type rseg-lfgja, "Mat Doc Year
frbnr type mkpf-frbnr, "Bill of Lading No
waers type rbkp-waers,
txz01 TYPE ekpo-txz01, "Short Text for Material
NCVD TYPE RSEG-WRBTR, "CESS ON VD FOR CUSTOMS
SBED TYPE RSEG-wrbtr, "CESS ON DUTIES
TEXT(30),
qtr_yr(4),
qtr_mth(10),
*Fields added for Inr Value for exchange rate
kursf type rbkp-kursf,
inrval type rseg-wrbtr,
BELNR1 TYPE RBKP-BELNR,
remarks(15),
END OF ty_header.
types: begin of ty_pohistory,
xblnr type ekbe-xblnr,
bewtp type ekbe-bewtp,
belnr type ekbe-belnr,
gjahr type ekbe-gjahr,
end of ty_pohistory.
TYPES: BEGIN OF ty_temp,
fidoc TYPE bkpf-belnr, "FIDOC No
awkey TYPE bkpf-belnr, "Reference Key
gjahr TYPE bkpf-gjahr, "Fiscal Year
budat TYPE bkpf-budat, "Posting Date
belnr TYPE rbkp-belnr, "Doc No
blart TYPE bkpf-blart, "Document Type
END OF ty_temp.
*Internal Table
DATA: itab TYPE ty_itab OCCURS 0 WITH HEADER LINE.
DATA: itab_temp TYPE ty_temp OCCURS 0 WITH HEADER LINE.
DATA : IT_CUSTOM TYPE TY_CUSTOM OCCURS 0 WITH HEADER LINE.
data: it_pohistory type ty_pohistory occurs 0 with header line.
data : it_header type ty_header occurs 0 with header line.
data : it_temp14 type ty_header occurs 0 with header line.
*Data Declaration
DATA: BKTXT TYPE MKPF-BKTXT.
DATA: FRBNR TYPE MKPF-FRBNR.
data: budat type mkpf-budat.
DATA: BELNR TYPE RSEG-BELNR.
data: gjahr type rseg-gjahr.
data: date1(10).
data: date2(10).
data: title(70).
DATA : adrnr1 LIKE t001w-adrnr.
DATA: plant_name1 LIKE adrc-name1.
DATA: plant_name2 type adrc-name2.
data: plant_name(70).
DATA: comp_name1 LIKE adrc-name1.
DATA: comp_name2 type adrc-name2.
data: comp_name(70).
DATA: month(2).
For ALV display
DATA: itfieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
gd_layout TYPE slis_layout_alv,
itsort TYPE slis_t_sortinfo_alv WITH HEADER LINE.
DATA: gd_prntparams TYPE slis_print_alv.
DATA : it_data TYPE slis_t_listheader,
wa_data LIKE LINE OF it_data.
**ALV Declaration
DATA: it_alv1 LIKE TABLE OF itab WITH HEADER LINE.
DATA : i TYPE n.
DATA : col_name(10) TYPE c.
data: text(70).
*Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
PARAMETERS:p_bukrs LIKE rbkp-bukrs OBLIGATORY.
SELECT-OPTIONS: s_werks FOR rseg-werks NO INTERVALS OBLIGATORY.
SELECT-OPTIONS: s_regio FOR lfa1-regio NO INTERVALS.
SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr NO INTERVALS.
select-options: s_bsart for ekko-bsart no intervals.
SELECT-OPTIONS:s_bldat FOR rbkp-bldat.
SELECT-OPTIONS:s_budat FOR rbkp-budat OBLIGATORY.
SELECTION-SCREEN END OF BLOCK block1.
SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME TITLE text-002.
PARAMETERS : R1 RADIOBUTTON GROUP G1.
PARAMETERS : R2 RADIOBUTTON GROUP G1.
SELECTION-SCREEN END OF BLOCK block2.
SELECT-OPTIONS: s_mwskz FOR rseg-mwskz NO-DISPLAY.
SELECT-OPTIONS: s_land1 FOR lfa1-land1 NO-DISPLAY.
START-OF-SELECTION.
PERFORM get_data.
**Filtering the Data based on the Document Type and Document Status in the Internal Table
LOOP AT itab_temp.
IF itab_temp-blart = 'RE'.
itab_temp-belnr = itab_temp-awkey+0(10).
MODIFY itab_temp.
ELSE.
DELETE itab_temp.
ENDIF.
ENDLOOP.
WRITE : s_budat-low TO date1,
s_budat-high TO date2.
CONCATENATE 'Import Purchase Register From :' date1 ' To : ' date2 INTO text.
if r1 = 'X'.
PERFORM taxvalues.
PERFORM filtering.
PERFORM CUSTOMS.
perform filtering2.
PERFORM build_layout.
PERFORM build_fieldcat.
PERFORM alv_display.
endif.
if r2 = 'X'.
PERFORM taxvalues.
PERFORM filtering.
PERFORM CUSTOMS.
perform filtering2.
PERFORM importheader.
PERFORM build_layout.
PERFORM build_fieldcat1.
PERFORM alv_display_header.
endif.
*& Form get_data
text
--> p1 text
<-- p2 text
FORM get_data .
SELECT belnr AS fidoc
awkey
budat
gjahr
blart
FROM bkpf INTO CORRESPONDING FIELDS OF TABLE itab_temp
WHERE bukrs = p_bukrs
AND budat IN s_budat
AND bstat = space.
IF sy-subrc NE 0.
MESSAGE 'No Values exist for the Selection.' TYPE 'S'.
STOP.
ENDIF.
ENDFORM.
*& Form taxvalues
text
--> p1 text
<-- p2 text
FORM taxvalues .
LOOP AT itab_temp.
MOVE-CORRESPONDING itab_temp TO itab.
SELECT SINGLE
lifnr
xblnr
belnr
gjahr
stblg
bldat
vgart
ivtyp
waers
kursf
FROM rbkp INTO CORRESPONDING FIELDS OF itab
WHERE belnr = itab_temp-belnr
AND gjahr = itab_temp-gjahr.
SELECT menge
bklas
matnr
lfbnr
werks
mwskz
buzei
wrbtr
pstyp
kschl
ebeln
ebelp
lfgja
shkzg FROM rseg INTO CORRESPONDING FIELDS OF itab
WHERE belnr = itab_temp-belnr
AND gjahr = itab_temp-gjahr.
APPEND itab.
ENDSELECT.
CLEAR itab.
CLEAR itab_temp.
ENDLOOP.
LOOP AT itab .
*Purchase Order Document Type.
select single bsart from ekko into corresponding fields of itab
where ebeln = itab-ebeln.
select single batxt from t161t into corresponding fields of itab
where spras = 'EN' AND
bsart = itab-bsart.
*Material Details
SELECT SINGLE matkl mtart FROM mara
INTO CORRESPONDING FIELDS OF itab
WHERE mara~matnr = itab-matnr.
SELECT SINGLE name1 adrnr land1 FROM lfa1 INTO
(itab-name1,itab-adrnr,itab-land1) WHERE lifnr = itab-lifnr.
*Short Text
SELECT SINGLE txz01 INTO itab-maktx FROM ekpo
WHERE ebeln = itab-ebeln
and ebelp = itab-ebelp.
**Vendor Address
SELECT SINGLE str_suppl1
post_code1
city1
region
FROM adrc INTO CORRESPONDING FIELDS OF itab
WHERE addrnumber = itab-adrnr.
itab-qtr_yr = itab-bldat+0(4).
month = itab-bldat+4(2).
CASE month.
WHEN '01'.
itab-qtr_mth = 'JAN'.
WHEN '02'.
itab-qtr_mth = 'FEB'.
WHEN '03'.
itab-qtr_mth = 'MAR'.
WHEN '04'.
itab-qtr_mth = 'APR'.
WHEN '05'.
itab-qtr_mth = 'MAY'.
WHEN '06'.
itab-qtr_mth = 'JUN'.
WHEN '07'.
itab-qtr_mth = 'JUL'.
WHEN '08'.
itab-qtr_mth = 'AUG'.
WHEN '09'.
itab-qtr_mth = 'SEP'.
WHEN '10'.
itab-qtr_mth = 'OCT'.
WHEN '11'.
itab-qtr_mth = 'NOV'.
WHEN '12'.
itab-qtr_mth = 'DEC'.
ENDCASE.
*INR VALUE CALCULATION
<b>itab-inrval = itab-wrbtr * itab-kursf.</b>MODIFY itab.
ENDLOOP.
ENDFORM. " taxvalues
*& Form build_layout
text
--> p1 text
<-- p2 text
FORM build_layout .
CLEAR itab.
gd_layout-zebra = 'X'.
gd_layout-colwidth_optimize = 'X'.
ENDFORM. " build_layout
*& Form build_fieldcat
text
--> p1 text
<-- p2 text
FORM build_fieldcat .
IF itab[] IS INITIAL.
MESSAGE 'No Values exist for the Selection.' TYPE 'S'.
STOP.
ENDIF.
DEFINE m_fieldcat.
itfieldcat-fieldname = &1.
itfieldcat-col_pos = &2.
itfieldcat-seltext_l = &3.
itfieldcat-do_sum = &4.
itfieldcat-outputlen = &5.
append itfieldcat to itfieldcat.
clear itfieldcat.
END-OF-DEFINITION.
m_fieldcat 'LFBNR' '' 'GR NO' '' 10.
m_fieldcat 'BELNR' '' 'MIRO NO' '' 10.
m_fieldcat 'BUZEI' '' 'MIRO LN ITM' '' 10.
m_fieldcat 'LIFNR' '' 'VENDOR CODE' '' 10.
m_fieldcat 'NAME1' '' 'VENDOR NAME' '' 14.
m_fieldcat 'STR_SUPPL1' '' 'VENDOR ADDRESS' '' '15' .
m_fieldcat 'POST_CODE1' '' 'PINCODE' '' 6.
m_fieldcat 'XBLNR' '' 'VEN INV NO' '' 16.
m_fieldcat 'BLDAT' '' 'VEN INV DATE' '' 8.
m_fieldcat 'EBELN' '' 'PUR ORD NO' '' 10.
m_fieldcat 'BATXT' '' 'PUR ORD DOC.TYPE' '' 20. "Pur Doc. Type Description
m_fieldcat 'EBELP' '' 'PUR LN ITM' '' 5.
m_fieldcat 'WERKS' '' 'PLANT' '' 8.
m_fieldcat 'MATNR' '' 'MAT NO' '' 18.
m_fieldcat 'MAKTX' '' 'MAT DESC' '' 15.
m_fieldcat 'MATKL' '' 'MAT CC' '' 7.
m_fieldcat 'MENGE' '' 'QTY' '' 13.
m_fieldcat 'WRBTR' '' 'VAL. OF GOODS' '' 11.
m_fieldcat 'WAERS' '' 'CURR' '' 5.
m_fieldcat 'INRVAL' '' 'INR VALUE' '' 13.
m_fieldcat 'BED' '' 'BED' '' 10.
m_fieldcat 'CVD' '' 'CVD' '' 10.
m_fieldcat 'ECVD' '' 'CESS ON CVD' '' 10.
m_fieldcat 'ECED' '' 'CESS ON DUTIES' '' 13.
*Bill of Lading Removed and Bill of Entry Added.
m_fieldcat 'FRBNR' '' 'BILL OF LADING' '' 13.
m_fieldcat 'BELNR1' '' 'BILL OF ENTRY' '' 13.
m_fieldcat 'REVERSE' '' 'Reversed' '' 2.
m_fieldcat 'FIDOC' '' 'FI DOC NO' '' 10.
m_fieldcat 'MWSKZ' '' 'TC' '' 2.
m_fieldcat 'BKLAS' '' 'VL CLS' '' 4.
m_fieldcat 'CITY1' '' 'VENDOR CITY' '' 10.
m_fieldcat 'QTR_MTH' '' 'MONTH' '' 10.
m_fieldcat 'QTR_YR' '' 'YEAR' '' 4.
m_fieldcat 'REMARKS' '' 'REMARKS' '' 15.
ENDFORM. " build_fieldcat
*& Form list1
text
-->R_UCOMM text
-->RS_SELFIELDtext
FORM list1 USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
Check function code
CASE r_ucomm.
WHEN '&IC1'.
Check field clicked on within ALVgrid report
IF rs_selfield-fieldname = 'LFBNR'.
AND rs_selfield-fieldname = 'GJAHR'.
Read data table, using index of row user clicked on
READ TABLE itab
INTO wa_ekko
INDEX rs_selfield-tabindex.
Set parameter ID for transaction screen field
SET PARAMETER ID 'MBN' FIELD itab-lfbnr.
SET PARAMETER ID 'GJR' FIELD itab-gjahr.
Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'MB03' AND SKIP FIRST SCREEN.
ENDIF.
IF rs_selfield-fieldname = 'FIDOC'.
AND rs_selfield-fieldname = 'GJAHR'.
Read data table, using index of row user clicked on
READ TABLE itab
INTO wa_ekko
INDEX rs_selfield-tabindex.
Set parameter ID for transaction screen field
SET PARAMETER ID 'BLN' FIELD itab-fidoc.
SET PARAMETER ID 'BUK' FIELD p_bukrs.
SET PARAMETER ID 'GJR' FIELD itab-gjahr.
Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
IF rs_selfield-fieldname = 'BELNR'.
AND rs_selfield-fieldname = 'GJAHR'.
Read data table, using index of row user clicked on
READ TABLE itab
INTO wa_ekko
INDEX rs_selfield-tabindex.
Set parameter ID for transaction screen field
SET PARAMETER ID 'RBN' FIELD itab-BELNR.
SET PARAMETER ID 'GJR' FIELD itab-gjahr.
Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'MIR4' AND SKIP FIRST SCREEN.
ENDIF.
IF rs_selfield-fieldname = 'BELNR1'.
AND rs_selfield-fieldname = 'GJAHR'.
Read data table, using index of row user clicked on
READ TABLE itab
INTO wa_ekko
INDEX rs_selfield-tabindex.
Set parameter ID for transaction screen field
SET PARAMETER ID 'RBN' FIELD itab-BELNR1.
SET PARAMETER ID 'GJR' FIELD itab-gjahr.
Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'MIR4' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.
*& Form alv_display
text
--> p1 text
<-- p2 text
FORM alv_display .
IF sy-batch = space.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = gd_layout
i_callback_user_command = 'LIST1'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
it_fieldcat = itfieldcat[]
i_save = 'A'
is_print = gd_prntparams
it_sort = itsort[]
TABLES
t_outtab = itab
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.
ELSEIF sy-batch = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = itfieldcat[]
it_sort = itsort[]
TABLES
t_outtab = itab
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.
ENDIF.
ENDFORM. " alv_display
*& Form FILTERING
text
--> p1 text
<-- p2 text
FORM filtering .
Material type should be of ROH or HALB or FERT
*CLEAR s_mtart.
*REFRESH s_mtart.
*s_mtart-sign = 'I'.
*s_mtart-option = 'EQ'.
*s_mtart-low = 'ROH'.
*APPEND s_mtart.
*s_mtart-low = 'HALB'.
*APPEND s_mtart.
*s_mtart-low = 'FERT'.
*APPEND s_mtart.
*CLEAR s_mtart.
*Tax Code for WCT should not be included.
s_mwskz-sign = 'I'.
s_mwskz-option = 'EQ'.
s_mwskz-low = 'W1'.
APPEND s_mwskz.
s_mwskz-low = 'W2'.
APPEND s_mwskz.
s_mwskz-low = 'W3'.
APPEND s_mwskz.
s_mwskz-low = 'W4'.
APPEND s_mwskz.
s_mwskz-low = 'W5'.
APPEND s_mwskz.
s_mwskz-low = 'W6'.
APPEND s_mwskz.
s_land1-sign = 'I'.
s_land1-option = 'NE'.
s_land1-low = 'IN'.
APPEND s_land1.
LOOP AT itab.
IF itab-mwskz NOT IN s_mwskz
AND itab-shkzg EQ 'S'
AND itab-bldat IN s_bldat
AND itab-region IN s_regio
AND itab-lifnr IN s_lifnr
AND itab-land1 IN s_land1
AND itab-werks IN s_werks
AND itab-bsart IN s_bsart.
ELSE.
DELETE itab.
CONTINUE.
ENDIF.
IF itab-vgart EQ 'RS'
AND itab-ivtyp EQ '5'
AND itab-stblg NE ' '.
itab-reverse = 'RS'.
ELSEIF itab-vgart EQ 'RD'
AND itab-ivtyp EQ ' '
AND itab-stblg NE ' '.
itab-reverse = 'RD'.
ENDIF.
MODIFY itab.
ENDLOOP.
ENDFORM. " FILTERING
*& Form CUSTOMS
text
--> p1 text
<-- p2 text
form CUSTOMS .
LOOP AT ITAB.
IF ITAB-LFBNR IS NOT INITIAL.
SELECT SINGLE BKTXT
FRBNR
budat
FROM MKPF INTO (BKTXT,FRBNR,budat)
WHERE MBLNR = ITAB-LFBNR
and mjahr = itab-lfgja.
move frbnr to itab-frbnr.
perform get_custom_invoice.
else.
select xblnr
bewtp
belnr
gjahr
from ekbe into table it_pohistory
where ebeln = itab-ebeln
and ebelp = itab-ebelp.
sort it_pohistory by xblnr.
read table it_pohistory with key xblnr = itab-xblnr bewtp = 'E' binary search.
if sy-subrc = 0.
SELECT SINGLE BKTXT
FRBNR
budat
FROM MKPF INTO (BKTXT,FRBNR,budat)
WHERE MBLNR = it_pohistory-belnr
and mjahr = it_pohistory-gjahr.
move it_pohistory-belnr to itab-lfbnr.
move frbnr to itab-frbnr.
perform get_custom_invoice.
endif.
ENDIF.
MODIFY ITAB.
clear: bktxt,frbnr,budat.
ENDLOOP.
SORT itab BY lfbnr belnr. " Sorting by GR no.
endform. " CUSTOMS
*& Form get_custom_invoice
text
--> p1 text
<-- p2 text
form get_custom_invoice .
CALL FUNCTION 'GET_CURRENT_YEAR'
EXPORTING
BUKRS = p_bukrs
DATE = budat
IMPORTING
CURRY = gjahr
determine if wrong characters were entered
IF ( BKTXT CN '1234567890' ).
*string contains wrong characters!
ITAB-BELNR1 = BKTXT.
ITAB-remarks = 'Wrng BoE Ref'.
EXIT.
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = BKTXT
IMPORTING
OUTPUT = BELNR
ITAB-BELNR1 = BELNR.
*For getting the Customs MIRO doc, it is assumed that the Fiscal Year of Customs Miro is same as Fiscal Year of Migo Posting Date
clear it_custom.
refresh it_custom.
SELECT WRBTR
KSCHL
EBELN
EBELP
FROM RSEG INTO CORRESPONDING FIELDS OF IT_CUSTOM
WHERE BELNR = BELNR
and gjahr = gjahr.
if sy-subrc = 0.
APPEND IT_CUSTOM.
endif.
ENDSELECT.
LOOP AT IT_CUSTOM.
IF IT_CUSTOM-EBELN = ITAB-EBELN AND IT_CUSTOM-EBELP = ITAB-EBELP.
CASE IT_CUSTOM-KSCHL.
WHEN 'JCDB'.
MOVE IT_CUSTOM-WRBTR TO ITAB-BED.
WHEN 'JCV1'.
MOVE IT_CUSTOM-WRBTR TO ITAB-CVD.
WHEN 'JECV'.
MOVE IT_CUSTOM-WRBTR TO ITAB-ECVD.
WHEN 'JEDB'.
MOVE IT_CUSTOM-WRBTR TO ITAB-ECED.
WHEN 'JCDS'.
MOVE IT_CUSTOM-WRBTR TO ITAB-SBED.
WHEN 'JCV2'.
MOVE IT_CUSTOM-WRBTR TO ITAB-NCVD.
ENDCASE.
ENDIF.
ENDLOOP.
endform. " get_custom_invoice
*& Form filtering2
text
--> p1 text
<-- p2 text
form filtering2 .
loop at itab.
if itab-lfbnr is initial.
delete itab.
endif.
endloop.
endform. " filtering2
*& Form top_of_page
text
FORM top_of_page.
CLEAR IT_DATA.
REFRESH IT_DATA.
*Company Details
SELECT adrnr FROM t001 INTO adrnr1 WHERE bukrs = p_bukrs.
ENDSELECT.
SELECT name1 name2 FROM adrc INTO (comp_name1,comp_name2) WHERE addrnumber = adrnr1.
ENDSELECT.
concatenate comp_name1 comp_name2 into comp_name.
wa_data-typ = 'H'.
wa_data-info = comp_name.
APPEND wa_data TO it_data.
*Plant Details for Display
loop at s_werks.
SELECT single adrnr FROM t001w INTO adrnr1 WHERE werks = s_werks-low.
SELECT single name1 name2 FROM adrc INTO (plant_name1,plant_name2) WHERE addrnumber = adrnr1.
concatenate s_werks-low ' - ' plant_name1 ',' plant_name2 into plant_name.
wa_data-info = plant_name.
APPEND wa_data TO it_data.
endloop.
WRITE : s_budat-low TO date1,
s_budat-high TO date2.
if r1 = 'X'.
CONCATENATE 'Import Purchase Register From :' date1 ' To : ' date2 INTO title.
elseif r2 = 'X'.
CONCATENATE 'Imp.Pur.Reg- Inv.Header From :' date1 ' To : ' date2 INTO title.
endif.
wa_data-info = title.
APPEND wa_data TO it_data.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_data
I_LOGO =
I_END_OF_LIST_GRID =
CLEAR WA_DATA.
CLEAR IT_DATA.
ENDFORM. "top_of_page
*& Form importheader
text
--> p1 text
<-- p2 text
form importheader .
LOOP AT itab.
MOVE-CORRESPONDING itab TO it_header.
APPEND it_header.
ENDLOOP.
SORT it_header BY belnr.
<b>LOOP AT it_header.
AT END OF belnr.
READ TABLE it_header INDEX sy-tabix.
SUM. </b> " Summing the Amount for each Vendor Invoice No.
MOVE-CORRESPONDING it_header TO it_temp14.
APPEND it_temp14.
CLEAR it_temp14.
ENDAT.
ENDLOOP.
SORT it_temp14 BY belnr ASCENDING. " SORTING BY MIRO NUMBER
endform. " importheader
*& Form build_fieldcat1
text
--> p1 text
<-- p2 text
form build_fieldcat1 .
IF itab[] IS INITIAL.
MESSAGE 'No Values exist for the Selection.' TYPE 'S'.
STOP.
ENDIF.
DEFINE m_fieldcat.
itfieldcat-fieldname = &1.
itfieldcat-col_pos = &2.
itfieldcat-seltext_l = &3.
itfieldcat-do_sum = &4.
itfieldcat-outputlen = &5.
append itfieldcat to itfieldcat.
clear itfieldcat.
END-OF-DEFINITION.
m_fieldcat 'BELNR' '' 'MIRO NO' '' 10.
m_fieldcat 'LIFNR' '' 'VENDOR CODE' '' 10.
m_fieldcat 'NAME1' '' 'VENDOR NAME' '' 14.
m_fieldcat 'STR_SUPPL1' '' 'VENDOR ADDRESS' '' '15' .
m_fieldcat 'POST_CODE1' '' 'PINCODE' '' 6.
m_fieldcat 'XBLNR' '' 'VEN INV NO' '' 16.
m_fieldcat 'BLDAT' '' 'VEN INV DATE' '' 8.
m_fieldcat 'WERKS' '' 'PLANT' '' 8.
m_fieldcat 'WRBTR' '' 'VAL. OF GOODS' '' 11.
m_fieldcat 'WAERS' '' 'CURR' '' 5.
m_fieldcat 'INRVAL' '' 'INRVALUE' '' 11.
m_fieldcat 'BED' '' 'BED' '' 10.
m_fieldcat 'CVD' '' 'CVD' '' 10.
m_fieldcat 'ECVD' '' 'CESS ON CVD' '' 10.
m_fieldcat 'ECED' '' 'CESS ON DUTIES' '' 13.
*Bill of Lading Removed and Bill of Entry Added.
m_fieldcat 'FRBNR' '' 'BILL OF LADING' '' 13.
m_fieldcat 'BELNR1' '' 'BILL OF ENTRY' '' 13.
m_fieldcat 'REVERSE' '' 'Reversed' '' 2.
m_fieldcat 'FIDOC' '' 'FI DOC NO' '' 10.
m_fieldcat 'MWSKZ' '' 'TC' '' 2.
m_fieldcat 'BKLAS' '' 'VL CLS' '' 4.
m_fieldcat 'CITY1' '' 'VENDOR CITY' '' 10.
m_fieldcat 'QTR_MTH' '' 'MONTH' '' 10.
m_fieldcat 'QTR_YR' '' 'YEAR' '' 4.
m_fieldcat 'REMARKS' '' 'REMARKS' '' 15.
ENDFORM. " build_fieldcat
*& Form alv_display_header
text
--> p1 text
<-- p2 text
form alv_display_header .
IF sy-batch = space.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = gd_layout
i_callback_user_command = 'LIST2'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
it_fieldcat = itfieldcat[]
i_save = 'A'
is_print = gd_prntparams
it_sort = itsort[]
TABLES
t_outtab = it_temp14
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.
ELSEIF sy-batch = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = itfieldcat[]
it_sort = itsort[]
TABLES
t_outtab = it_temp14
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.
ENDIF.
endform. " alv_display_header
*& Form list1
text
-->R_UCOMM text
-->RS_SELFIELDtext
FORM list2 USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
Check function code
CASE r_ucomm.
WHEN '&IC1'.
IF rs_selfield-fieldname = 'FIDOC'.
AND rs_selfield-fieldname = 'GJAHR'.
Read data table, using index of row user clicked on
READ TABLE it_temp14
INTO wa_ekko
INDEX rs_selfield-tabindex.
Set parameter ID for transaction screen field
SET PARAMETER ID 'BLN' FIELD it_temp14-fidoc.
SET PARAMETER ID 'BUK' FIELD p_bukrs.
SET PARAMETER ID 'GJR' FIELD it_temp14-gjahr.
Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
IF rs_selfield-fieldname = 'BELNR'.
AND rs_selfield-fieldname = 'GJAHR'.
Read data table, using index of row user clicked on
READ TABLE it_temp14
INTO wa_ekko
INDEX rs_selfield-tabindex.
Set parameter ID for transaction screen field
SET PARAMETER ID 'RBN' FIELD it_temp14-BELNR.
SET PARAMETER ID 'GJR' FIELD it_temp14-gjahr.
Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'MIR4' AND SKIP FIRST SCREEN.
ENDIF.
IF rs_selfield-fieldname = 'BELNR1'.
AND rs_selfield-fieldname = 'GJAHR'.
Read data table, using index of row user clicked on
READ TABLE it_temp14
INTO wa_ekko
INDEX rs_selfield-tabindex.
Set parameter ID for transaction screen field
SET PARAMETER ID 'RBN' FIELD it_temp14-BELNR1.
SET PARAMETER ID 'GJR' FIELD it_temp14-gjahr.
Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'MIR4' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.
Message was edited by:
Kiran KSandeep,
It is working fine for all the dates,but going giving dump only for a particular date.
KURSF is of length 9.Is it including decimal places.
So,if i declare a varibale of type p decimals 5 and then move actual kursf value to this variable and then SUM,it will work fine.
data:kursf1 type p decimals 5.
move it_header-kursf to it_header-kursf1.
or
just declare the existing kursf as type p decimals 5
But why it is not giving dump for other dates.
Thanks,
K.Kiran. -
hi
when i execute this report it execute perfectly. o/p is come perfect.
But when i double click by mistake on this o/p it give me the dump error .
i don't know why this is happen. i am not been able to solve this problem.
can anyone solve this problem and send modified coding to me.
thanks in advance.
Dinesh
*& Report ZBIL
REPORT ZBIL NO STANDARD PAGE HEADING.
TABLES: VBRK,
VBRP,
KNA1,
VBAK,
LIKP,
J_1IEXCHDR,
MARM.
TYPE-POOLS:SLIS.
TYPES: BEGIN OF IT_FINAL,
KUNAG LIKE VBRK-KUNAG,
KDGRP LIKE VBRK-KDGRP,
VBELN LIKE VBRK-VBELN,
FKSTO LIKE VBRK-FKSTO,
FKDAT LIKE VBRK-FKDAT,
stceg like vbrk-stceg,
STCEG(20) TYPE C,
REGIO LIKE VBRK-REGIO,
RFBSK LIKE VBRK-RFBSK,
AUBEL LIKE VBRP-AUBEL,
WERKS LIKE VBRP-WERKS,
VGBEL LIKE VBRP-VGBEL,
MATNR LIKE VBRP-MATNR,
VRKME LIKE VBRP-VRKME,
FKIMG LIKE VBRP-FKIMG,
NETWR LIKE VBRP-NETWR, "netwr_fp,
MWSBP LIKE VBRP-MWSBP,
KZWI4 LIKE VBRP-KZWI4,
VSTEL LIKE VBRP-VSTEL,
FKIMG1 TYPE FKIMG,
NAME1 LIKE KNA1-NAME1,
ORT01 LIKE KNA1-ORT01,
PSTLZ LIKE KNA1-PSTLZ,
EKONT LIKE KNA1-EKONT,
KUNNR LIKE KNA1-KUNNR,
STRAS(35) TYPE C,
AUDAT LIKE VBAK-AUDAT,
WADAT_IST LIKE LIKP-WADAT_IST,
EXNUM(10) TYPE C,
RDOC LIKE J_1IEXCHDR-RDOC,
UMREZ LIKE MARM-UMREZ,
MEINH LIKE MARM-MEINH,
UMREN LIKE MARM-UMREN,
END OF IT_FINAL.
TYPES: BEGIN OF IT_VBRK,
KUNAG LIKE VBRK-KUNAG,
KDGRP LIKE VBRK-KDGRP,
VBELN LIKE VBRK-VBELN,
FKSTO LIKE VBRK-FKSTO,
FKDAT LIKE VBRK-FKDAT,
stceg like vbrk-stceg,
STCEG(20) TYPE C,
REGIO LIKE VBRK-REGIO,
RFBSK LIKE VBRK-RFBSK,
END OF IT_VBRK.
TYPES: BEGIN OF IT_VBRP,
WERKS LIKE VBRP-WERKS,
VGBEL LIKE VBRP-VGBEL,
MATNR LIKE VBRP-MATNR,
VRKME LIKE VBRP-VRKME,
FKIMG LIKE VBRP-FKIMG,
NETWR LIKE VBRP-NETWR, "like vbrp-netwr,
MWSBP LIKE VBRP-MWSBP, "like vbrp-mwsbp,
KZWI4 LIKE VBRP-MWSBP, " like vbrp-kzwi4,
AUBEL LIKE VBRP-AUBEL,
VBELN LIKE VBRP-VBELN,
VSTEL LIKE VBRP-VSTEL,
END OF IT_VBRP.
TYPES:BEGIN OF IT_KNA1,
NAME1 LIKE KNA1-NAME1,
ORT01 LIKE KNA1-ORT01,
PSTLZ LIKE KNA1-PSTLZ,
EKONT LIKE KNA1-EKONT,
KUNNR LIKE KNA1-KUNNR,
STRAS(35) TYPE C,
END OF IT_KNA1.
TYPES: BEGIN OF IT_VBAK,
VBELN LIKE VBAK-VBELN,
AUDAT LIKE VBAK-AUDAT,
KUNNR LIKE VBAK-KUNNR,
END OF IT_VBAK.
TYPES: BEGIN OF IT_LIKP,
WADAT_IST LIKE LIKP-WADAT_IST,
KUNAG LIKE LIKP-KUNAG,
VBELN LIKE LIKP-VBELN,
END OF IT_LIKP.
TYPES: BEGIN OF IT_J_1IEXCHDR,
EXNUM(10) TYPE C,
KUNAG LIKE J_1IEXCHDR-KUNAG,
WERKS LIKE J_1IEXCHDR-WERKS,
RDOC LIKE J_1IEXCHDR-RDOC,
END OF IT_J_1IEXCHDR.
TYPES: BEGIN OF IT_MARM,
MATNR LIKE MARM-MATNR,
UMREZ LIKE MARM-UMREZ,
MEINH LIKE MARM-MEINH,
UMREN LIKE MARM-UMREN,
END OF IT_MARM.
*INTERNAL TABLE DECLARATION
DATA: I_FINAL TYPE STANDARD TABLE OF IT_FINAL,
I_VBRP TYPE STANDARD TABLE OF IT_VBRP,
I_VBRK TYPE STANDARD TABLE OF IT_VBRK,
I_KNA1 TYPE STANDARD TABLE OF IT_KNA1,
I_VBAK TYPE STANDARD TABLE OF IT_VBAK,
I_LIKP TYPE STANDARD TABLE OF IT_LIKP,
I_J_1IEXCHDR TYPE STANDARD TABLE OF IT_J_1IEXCHDR,
I_MARM TYPE STANDARD TABLE OF IT_MARM.
*DECLARATION FOR THE WORK AREA
DATA: WA_FINAL TYPE IT_FINAL,
WA_VBRP TYPE IT_VBRP,
WA_VBRK TYPE IT_VBRK,
WA_KNA1 TYPE IT_KNA1,
WA_VBAK TYPE IT_VBAK,
WA_LIKP TYPE IT_LIKP,
WA_J_1IEXCHDR TYPE IT_J_1IEXCHDR,
WA_MARM TYPE IT_MARM.
* DECLARATION FOR THE FIELD CATALOG.
DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
WA_FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GD_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA IT_SORT1 TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE.
DATA HEADING1 TYPE SLIS_T_LISTHEADER WITH HEADER LINE.
DATA GD_REPID LIKE SY-REPID.
*DECLARATION FOR THE SELECTION SCREEN
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: CUST FOR VBRK-KUNAG,
CUST_GRP FOR VBRK-KDGRP,
MAT_NO FOR VBRP-MATNR,
PLANT FOR VBRP-WERKS OBLIGATORY,
SHIP_PT FOR VBRP-VSTEL,
BILL_DOC FOR VBRK-VBELN,
SAL_OFF FOR VBRP-VKBUR,
BILL_TYP FOR VBRK-FKART,
DATE FOR VBRK-FKDAT.
PARAMETERS:REGIO LIKE VBRK-REGIO DEFAULT '13' OBLIGATORY.
SELECTION-SCREEN :END OF BLOCK B1.
*DECLARATION FOR THE SUBROUTIN FOR BASIC LIST.
PERFORM F_GET_I_VBRK_DATA.
PERFORM F_GET_I_VBRP_DATA.
PERFORM F_GET_I_KNA1_DATA.
PERFORM F_GET_I_VBAK_DATA.
PERFORM F_GET_I_LIKP_DATA.
PERFORM F_GET_I_J_1IEXCHDR_DATA.
PERFORM F_GET_I_MARM_DATA.
PERFORM F_GET_I_FINAL_DATA.
PERFORM DATA_BUILD.
PERFORM DATA_CALL.
FORM F_GET_I_VBRK_DATA.
SELECT KUNAG KDGRP VBELN FKSTO FKDAT STCEG REGIO RFBSK REGIO
FROM VBRK
INTO CORRESPONDING FIELDS OF TABLE I_VBRK
WHERE FKDAT IN DATE
AND KUNAG IN CUST
AND KDGRP IN CUST_GRP
AND VBELN IN BILL_DOC
AND FKART IN BILL_TYP.
*AND REGIO LIKE REGIO.
ENDFORM.
FORM F_GET_I_VBRP_DATA.
SELECT WERKS VGBEL MATNR VRKME FKIMG NETWR MWSBP KZWI4 VBELN AUBEL VSTEL
FROM VBRP
INTO CORRESPONDING FIELDS OF TABLE I_VBRP FOR ALL ENTRIES IN I_VBRK
WHERE VBELN = I_VBRK-VBELN
AND VKBUR IN SAL_OFF
AND MATNR IN MAT_NO
AND VSTEL IN SHIP_PT
AND WERKS IN PLANT .
ENDFORM.
FORM F_GET_I_KNA1_DATA.
SELECT NAME1 ORT01 PSTLZ EKONT KUNNR STRAS
FROM KNA1
INTO CORRESPONDING FIELDS OF TABLE I_KNA1
FOR ALL ENTRIES IN I_VBRK
WHERE KUNNR = I_VBRK-KUNAG.
ENDFORM.
FORM F_GET_I_VBAK_DATA.
SELECT VBELN AUDAT KUNNR
FROM VBAK
INTO CORRESPONDING FIELDS OF TABLE I_VBAK
FOR ALL ENTRIES IN I_VBRP
WHERE VBELN = I_VBRP-AUBEL.
*for all entries in i_vbrk
*where kunnr = i_vbrk-kunag .
ENDFORM.
FORM F_GET_I_LIKP_DATA.
SELECT WADAT_IST KUNAG VBELN
FROM LIKP
INTO CORRESPONDING FIELDS OF TABLE I_LIKP
FOR ALL ENTRIES IN I_VBRP
WHERE VBELN = I_VBRP-VGBEL.
*for all entries in i_vbrk
*where kunag = i_vbrk-kunag.
ENDFORM.
FORM F_GET_I_J_1IEXCHDR_DATA.
SELECT EXNUM WERKS KUNAG RDOC
FROM J_1IEXCHDR
INTO CORRESPONDING FIELDS OF TABLE I_J_1IEXCHDR
FOR ALL ENTRIES IN I_VBRK
WHERE RDOC = I_VBRK-VBELN .
ENDFORM.
FORM F_GET_I_MARM_DATA.
SELECT MATNR UMREZ UMREN MEINH
FROM MARM
INTO CORRESPONDING FIELDS OF TABLE I_MARM
FOR ALL ENTRIES IN I_VBRP
WHERE MEINH = 'EA' AND MATNR = I_VBRP-MATNR.
ENDFORM.
*for all entries in i_vbrp
*where werks = i_vbrp-werks .
*where kunag = i_vbrk-kunag .
FORM F_GET_I_FINAL_DATA.
LOOP AT I_VBRP INTO WA_VBRP.
WA_FINAL-WERKS = WA_VBRP-WERKS.
WA_FINAL-VGBEL = WA_VBRP-VGBEL.
WA_FINAL-MATNR = WA_VBRP-MATNR.
WA_FINAL-VRKME = WA_VBRP-VRKME.
WA_FINAL-FKIMG = WA_VBRP-FKIMG.
WA_FINAL-NETWR = WA_VBRP-NETWR.
WA_FINAL-MWSBP = WA_VBRP-MWSBP.
WA_FINAL-KZWI4 = WA_VBRP-KZWI4.
WA_FINAL-AUBEL = WA_VBRP-AUBEL.
WA_FINAL-VSTEL = WA_VBRP-VSTEL.
WA_FINAL-VBELN = WA_VBRP-VBELN.
CLEAR WA_VBRK.
READ TABLE I_VBRK INTO WA_VBRK WITH KEY VBELN = WA_VBRP-VBELN.
IF SY-SUBRC = 0.
WA_FINAL-KUNAG = WA_VBRK-KUNAG.
WA_FINAL-KDGRP = WA_VBRK-KDGRP.
WA_FINAL-VBELN = WA_VBRK-VBELN.
WA_FINAL-FKSTO = WA_VBRK-FKSTO.
WA_FINAL-FKDAT = WA_VBRK-FKDAT.
WA_FINAL-STCEG = WA_VBRK-STCEG.
WA_FINAL-REGIO = WA_VBRK-REGIO.
WA_FINAL-RFBSK = WA_VBRK-RFBSK.
ENDIF.
CLEAR WA_KNA1.
READ TABLE I_KNA1 INTO WA_KNA1 WITH KEY KUNNR = WA_VBRK-KUNAG.
IF SY-SUBRC = 0.
WA_FINAL-NAME1 = WA_KNA1-NAME1.
WA_FINAL-ORT01 = WA_KNA1-ORT01.
WA_FINAL-PSTLZ = WA_KNA1-PSTLZ.
WA_FINAL-STRAS = WA_KNA1-STRAS.
WA_FINAL-KUNAG = WA_KNA1-KUNNR.
ENDIF.
CLEAR WA_VBAK.
READ TABLE I_VBAK INTO WA_VBAK WITH KEY VBELN = WA_VBRP-AUBEL. "kunnr = wa_vbrk-kunag.
IF SY-SUBRC = 0.
WA_FINAL-AUDAT = WA_VBAK-AUDAT.
WA_FINAL-KUNAG = WA_VBAK-KUNNR.
ENDIF.
CLEAR WA_LIKP.
READ TABLE I_LIKP INTO WA_LIKP WITH KEY VBELN = WA_VBRP-VGBEL. "kunag = wa_vbrk-kunag.
IF SY-SUBRC = 0.
WA_FINAL-WADAT_IST = WA_LIKP-WADAT_IST.
WA_FINAL-KUNAG = WA_LIKP-KUNAG.
ENDIF.
CLEAR WA_J_1IEXCHDR.
READ TABLE I_J_1IEXCHDR INTO WA_J_1IEXCHDR WITH KEY RDOC = WA_VBRK-VBELN. "kunag = wa_vbrk-kunag.
IF SY-SUBRC = 0.
WA_FINAL-EXNUM = WA_J_1IEXCHDR-EXNUM.
WA_FINAL-KUNAG = WA_J_1IEXCHDR-KUNAG.
WA_FINAL-WERKS = WA_J_1IEXCHDR-WERKS.
WA_FINAL-RDOC = WA_J_1IEXCHDR-RDOC.
ENDIF.
CLEAR WA_MARM.
READ TABLE I_MARM INTO WA_MARM WITH KEY MATNR = WA_VBRP-MATNR.
IF SY-SUBRC = 0.
WA_FINAL-MEINH = WA_MARM-MEINH.
WA_FINAL-UMREZ = WA_MARM-UMREZ.
WA_FINAL-UMREN = WA_MARM-UMREN.
WA_FINAL-MATNR = WA_MARM-MATNR.
WA_FINAL-FKIMG1 = WA_VBRP-FKIMG * ( WA_MARM-UMREN / WA_MARM-UMREZ ).
ENDIF.
APPEND WA_FINAL TO I_FINAL.
ENDLOOP.
ENDFORM.
FORM DATA_BUILD.
*break-point.
WA_FIELDCATALOG-FIELDNAME = 'KUNAG'.
WA_FIELDCATALOG-SELTEXT_M = 'Sold-to Party'.
WA_FIELDCATALOG-OUTPUTLEN = 10 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'KDGRP'.
WA_FIELDCATALOG-SELTEXT_M = 'Customer Group'.
WA_FIELDCATALOG-OUTPUTLEN = 13 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'AUBEL'.
WA_FIELDCATALOG-SELTEXT_M = 'Sales Doc'.
WA_FIELDCATALOG-OUTPUTLEN = 10 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'AUDAT'.
WA_FIELDCATALOG-SELTEXT_M = 'Doc Date'.
WA_FIELDCATALOG-OUTPUTLEN = 10 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'VGBEL'.
WA_FIELDCATALOG-SELTEXT_M = 'Pgi. No.'.
WA_FIELDCATALOG-OUTPUTLEN = 10 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'WADAT_IST'.
WA_FIELDCATALOG-SELTEXT_M = 'Pgi.Date'.
WA_FIELDCATALOG-OUTPUTLEN = 10 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'EXNUM'.
WA_FIELDCATALOG-SELTEXT_M = 'Excise No.'.
WA_FIELDCATALOG-OUTPUTLEN = 10 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'VBELN' .
WA_FIELDCATALOG-SELTEXT_M = 'Bill Doc'.
WA_FIELDCATALOG-OUTPUTLEN = 12 .
WA_FIELDCATALOG-KEY = 'X'.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'WERKS'.
WA_FIELDCATALOG-SELTEXT_M = 'Plant'.
WA_FIELDCATALOG-OUTPUTLEN = 8 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'FKSTO'.
WA_FIELDCATALOG-SELTEXT_M = 'Cancel'.
WA_FIELDCATALOG-OUTPUTLEN = 8 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'FKDAT'.
WA_FIELDCATALOG-SELTEXT_M = 'Billing Date'.
WA_FIELDCATALOG-OUTPUTLEN = 12 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'MATNR'.
WA_FIELDCATALOG-SELTEXT_M = 'Mat. No.'.
WA_FIELDCATALOG-OUTPUTLEN = 12 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'VRKME'.
WA_FIELDCATALOG-SELTEXT_M = 'Sales Unit'.
WA_FIELDCATALOG-OUTPUTLEN = 10 .
WA_FIELDCATALOG-SUBTOT = 'X'.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'FKIMG'.
WA_FIELDCATALOG-SELTEXT_L = 'Billed Qty in M/4FT/EA'.
WA_FIELDCATALOG-OUTPUTLEN = 20 .
WA_FIELDCATALOG-DO_SUM = 'X'.
COLLECT WA_FIELDCATALOG INTO FIELDCATALOG.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'FKIMG1'.
WA_FIELDCATALOG-SELTEXT_M = 'Billed Qty in NOS.'.
WA_FIELDCATALOG-OUTPUTLEN = 20 .
WA_FIELDCATALOG-DO_SUM = 'X'.
COLLECT WA_FIELDCATALOG INTO FIELDCATALOG.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'NETWR'.
WA_FIELDCATALOG-SELTEXT_M = 'Net Value'.
WA_FIELDCATALOG-OUTPUTLEN = 15 .
WA_FIELDCATALOG-DO_SUM = 'X'.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'MWSBP'.
WA_FIELDCATALOG-SELTEXT_M = 'Tax Amount'.
WA_FIELDCATALOG-OUTPUTLEN = 15 .
WA_FIELDCATALOG-DO_SUM = 'X'.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'STCEG'.
WA_FIELDCATALOG-SELTEXT_M = 'Vat Reg. No.'.
WA_FIELDCATALOG-OUTPUTLEN = 15 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'VSTEL'.
WA_FIELDCATALOG-SELTEXT_M = 'Shipping Pt'.
WA_FIELDCATALOG-OUTPUTLEN = 10 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'REGIO'.
WA_FIELDCATALOG-SELTEXT_M = 'Region'.
WA_FIELDCATALOG-OUTPUTLEN = 8 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'RFBSK'.
WA_FIELDCATALOG-SELTEXT_M = 'PsSt'.
WA_FIELDCATALOG-OUTPUTLEN = 5 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'KZWI4'.
WA_FIELDCATALOG-SELTEXT_M = 'Subtotal'.
WA_FIELDCATALOG-OUTPUTLEN = 10 .
WA_FIELDCATALOG-DO_SUM = 'X'.
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'NAME1'.
WA_FIELDCATALOG-SELTEXT_M = 'Party Name'.
WA_FIELDCATALOG-OUTPUTLEN = 15 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'STRAS'.
WA_FIELDCATALOG-SELTEXT_M = 'Street Name'.
WA_FIELDCATALOG-OUTPUTLEN = 15 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'ORT01'.
WA_FIELDCATALOG-SELTEXT_M = 'City'.
WA_FIELDCATALOG-OUTPUTLEN = 10 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
WA_FIELDCATALOG-FIELDNAME = 'PSTLZ'.
WA_FIELDCATALOG-SELTEXT_M = 'Postal Code'.
WA_FIELDCATALOG-OUTPUTLEN = 10 .
APPEND WA_FIELDCATALOG TO FIELDCATALOG.
CLEAR WA_FIELDCATALOG.
REFRESH IT_SORT1.
CLEAR IT_SORT1.
IT_SORT1-FIELDNAME = 'VBELN'.
IT_SORT1-UP = 'X'.
IT_SORT1-SUBTOT = 'X'.
APPEND IT_SORT1.
CLEAR IT_SORT1.
IT_SORT1-FIELDNAME = 'VRKME'.
IT_SORT1-UP = 'X'.
IT_SORT1-SUBTOT = 'X'.
APPEND IT_SORT1.
CLEAR IT_SORT1.
ENDFORM.
FORM DATA_CALL.
data : itab type it_final occurs 0,
wa_itab type it_final.
*loop at i_final into wa_final.
*MOVE wa_final-VRKME to wa_itab-VRKME.
*add wa_final-fkimg to wa_itab-fkimg.
*MOVE wa_final-VRKME to wa_itab-VRKME.
*add wa_final-fkimg to wa_itab-fkimg.
*MOVE wa_final-VRKME to wa_itab-VRKME.
*append wa_itab to itab.
*clear: wa_final, wa_itab.
**endon.
**endat.
endloop.
*i_final[] = itab[].
GD_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = GD_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER-COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE = 'List Of Billing Document'
I_GRID_SETTINGS =
IS_LAYOUT = GD_LAYOUT
IT_FIELDCAT = FIELDCATALOG[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT = IT_SORT1[]
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'X'
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = I_FINAL
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. "data_callhi,
just comment this line.
I_CALLBACK_USER_COMMAND = 'USER-COMMAND'
as it is only useful in interactive reports. -
Hi
I am getting ABAP dump when i printing alv report using PRINT button.
Error is
Field symbol has not yet been assigned
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_USER_COMMAND = G_USER_COMMAND
IT_FIELDCAT = FIELDCAT[]
IS_LAYOUT = GS_LAYOUT
I_SAVE = G_SAVE
IT_SORT = GS_SORT
IT_FILTER = GS_FILTER
IS_VARIANT = GS_VARIANT
IT_EVENTS = GT_EVENTS[]
IS_PRINT = GS_PRINT
IMPORTING
E_EXIT_CAUSED_BY_CALLER = G_EXIT_CAUSED_BY_CALLER
ES_EXIT_CAUSED_BY_USER = GS_EXIT_CAUSED_BY_USER
TABLES
T_OUTTAB = I_PODETL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
Pls advise me
Thanks
Kumarhi check this..
use this...
wa_fieldcat-fieldname = 'FIELD'.
wa_fieldcat-reptext_ddic = 'Descrition;.
append wa_fieldcat to it_fieldcat .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_USER_COMMAND = G_USER_COMMAND
IT_FIELDCAT = FIELDCAT[]
IS_LAYOUT = GS_LAYOUT
I_SAVE = G_SAVE
IT_SORT = GS_SORT
IT_FILTER = GS_FILTER
IS_VARIANT = GS_VARIANT
IT_EVENTS = GT_EVENTS[]
IS_PRINT = GS_PRINT
TABLES
T_OUTTAB = I_PODETL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
regards,
venkat. -
Short Dump while executing ALV Grid.
Hi All,
I m getting a short dump while trying to execute an ALV.
The dump exception is of type
CX_SY_DYN_CALL_ILLEGAL_TYPE class.
The message displayed is : " Call to form 'GI_FIELDCAT' is incorrect .The actual parameter in PERFORM is different data type than requested for form GI_FIELDCAT " .
The part of programe included is as follows:
FORM build_fieldcat .
PERFORM gi_fieldcat USING 'MBLNR' text-014 '1' '20'.
PERFORM gi_fieldcat USING 'ZEILE' text-005 '2' '4'.
PERFORM gi_fieldcat USING 'MATNR' text-006 '3' '18'.
PERFORM gi_fieldcat USING 'MAKTX' text-028 '4' '40'.
PERFORM gi_fieldcat USING 'MATKL' text-029 '5' '40'.
PERFORM gi_fieldcat USING 'BUDAT' text-027 '6' '10'.
PERFORM gi_fieldcat USING 'MENGE' text-026 '7' '9'.
PERFORM gi_fieldcat USING 'DMBTR' text-025 '8' '13'.
PERFORM gi_fieldcat USING 'WAERS' text-011 '9' '5'.
PERFORM gi_fieldcat USING 'RSNUM' text-012 '10' '10'.
PERFORM gi_fieldcat USING 'PSPHI' text-013 '11' '10'.
ENDFORM. " build_fieldcat
FORM gi_fieldcat USING fieldname TYPE slis_fieldcat_alv-fieldname
colmname TYPE slis_fieldcat_alv-seltext_m
colmpos TYPE slis_fieldcat_alv-col_pos
outputlen TYPE slis_fieldcat_alv-outputlen.
wa_fieldcat-fieldname = fieldname.
wa_fieldcat-seltext_m = colmname.
wa_fieldcat-col_pos = colmpos.
wa_fieldcat-outputlen = outputlen.
wa_fieldcat-
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " gi_fieldcat
Can ayone gimmi a solution for the same.Hi,
Try to change ur code like the below.
Attached: sample code
Building field catalog
PERFORM modify_catlog USING:
'GT_OUTPUT' 'AUART' text-t02 '1',
'GT_OUTPUT' 'KUNNR' text-t03 '2',
'GT_OUTPUT' 'NAME' text-t04 '3',
'GT_OUTPUT' 'KWMENG' text-t05 '4',
'GT_OUTPUT' 'VRKME' text-t06 '5',
'GT_OUTPUT' 'LFIMG' text-t07 '6',
'GT_OUTPUT' 'GEWEI' text-t08 '7',
'GT_OUTPUT' 'VOLUM' text-t09 '8',
'GT_OUTPUT' 'VOLEH' text-t10 '9',
'GT_OUTPUT' 'BRGEW' text-t11 '10',
'GT_OUTPUT' 'UOMGW' text-t12 '11',
'GT_OUTPUT' 'VARCE' text-t13 '12',
'GT_OUTPUT' 'UOMVR' text-t14 '13'.
FORM modify_catlog USING pa_tabname TYPE string
pa_field TYPE string
pa_text TYPE string
pa_pos TYPE string.
CLEAR gs_fieldcatalog.
*Modifying field catalog
gs_fieldcatalog-col_pos = pa_pos.
gs_fieldcatalog-fieldname = pa_field.
gs_fieldcatalog-tabname = pa_tabname.
gs_fieldcatalog-seltext_m = pa_text.
APPEND gs_fieldcatalog TO gt_fieldcatalog.
CLEAR gs_fieldcatalog.
l_repid = sy-repid.
To call function to display ALV output
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = l_repid
it_fieldcat = gt_fieldcatalog
TABLES
t_outtab = gt_output
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e000 WITH text-t16.
ENDIF.
Reward if helpful.
Regards,
Ramya -
Short dump while on double click event in ALV
Hi ,
I have created a ALV screen to display the customer number and NAme ,my requirement is that when i click on the Key field i.e. Customer number it should call the transaction xd03 for that I have written the following code
gs_layout-box_fieldname = 'SEL'.
gs_layout-colwidth_optimize = 'X'.
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gd_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
is_layout = gs_layout
it_fieldcat = fieldcatalog[]
i_callback_pf_status_set = 'PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
TABLES
t_outtab = t_itab
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.
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
IF rs_selfield-fieldname = 'KUNNR'.
READ TABLE t_itab INTO w_itab
WITH KEY kunnr = rs_selfield-value.
IF sy-subrc = 0.
SET PARAMETER ID 'KUN' FIELD rs_selfield-value.
CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
CLEAR r_ucomm.
ENDCASE.
ENDFORM. "user_command
FORM pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'STANDARD1'.
ENDFORM. "pf_status
Problem is when i double click on the Customer No field on the ALV ouput i Am getting a Short dump.. "MOVE_TO_LIT_NOTALLOWED_NODATA"..
How should i overcome this runtime error....
Thanks in advance,
Nishant>
Abhii wrote:
> There was a problem in the SET PARAMETER ID statement.
> Nishant, Make the code changes I have suggested, you will get the output.
Either you possess telepathic skills or you are omniscient.
Before asserting your solution on someone be sure what exactly is the problem. If you check the OP's code, CALL TRANSACTION will be called only when the READ TABLE is successful.
So how does your solution add benefit to the existing one.
BR,
Suhas
Maybe you are looking for
-
Hi All, My requirement is to extract the data from the legacy system i.e. Sybase 12.5 using UDC to SAP BI 7.0. We have established UDC connection, created view and BI 7.0 datasource. The user has all the access i.e. select, dbo access for the view. W
-
Alpha channel video issue with After Effects
For some reason, a perfect mask in After Effects produces a thin gray border around the mask in flash when converting to FLV. Has anyone had this problem? Tried everything. Thanks.
-
Hi The left button on my dv6 touchpad 'broke' yesterday. It only registers a click in a certain place on the button, and if you try to click on any other part of the button, it just presses right down and nothing happens. I'm guessing the whole touch
-
Creating a ACB (Adobe Color Book) File
I have a group of swatches (in ASE format; see attached screen shot) that I would like to convert into a ACB file. Is this possible?
-
Issue in NPA_Parser_Option
Hi All, In HAM module I am trying to add support for one of our new adapter card. As a part of initialization in HAM_Load () added product id using NPA_add_Option() and then calling NPA_Parse_Option(). Due to some issue the NPA_Parser_Option function