TSV_TNEW_PAGE_ALLOC_FAILED with internal table declared with occurs 0
HI guys,
when the internal table is declared as occurs 0, the dump TSV_TNEW_PAGE_ALLOC_FAILED is encountered, when changing the declaration into standard table, th dump disappears. Why is this so?
Thanks!
There are three type of tables: Standard, sorted and hashed tables (see [here|http://help.sap.com/abapdocu_70/en/ABAPDATA_ITAB.htm]). When you define a table using the keyword OCCURS you're still defining a standard table.
Your exception indicates that you're running out of memory. The difference in the declarations that you mention shouldn't cause that. Main difference between the two declaration versions is probably that your table defined via OCCURS has a header line, whereas your other table doesn't (unless you declared it explicitly as WITH HEADER LINE).
I don't think though that with that little information anybody could explain the short dump. Actually it sounds rather odd that the change you mention should cause the dump (or make it go away). So I suspect you probably have to post further details. You might want to check the shortdump yourself and place a breakpoint at this place and run it for each version. Maybe you can see some difference...
Similar Messages
-
Problem with internal table declaration in function gui_upload
hi friends,
can u tell me how should i define internal table when i use this function?
i get error that in oo my declaration not good.
thanks,
dana.see this example:-
DATA: BEGIN OF itab OCCURS 0,
tdname TYPE mara-matnr,
tdline1 TYPE tline-tdline,
tdline2 TYPE tline-tdline,
tdline3 TYPE tline-tdline,
tdline4 TYPE tline-tdline,
tdline5 TYPE tline-tdline,
END OF itab.
DATA: BEGIN OF itab_error OCCURS 0,
tdname TYPE mara-matnr,
error TYPE string,
END OF itab_error.
DATA: lines TYPE STANDARD TABLE OF tline WITH HEADER LINE.
DATA: temp TYPE string.
DATA: tdspras TYPE thead-tdspras.
DATA: tdname TYPE thead-tdname.
DATA: tdobject TYPE thead-tdobject.
DATA: tdid TYPE thead-tdid.
DATA :flag TYPE c.
At Selection Screen Event
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p1.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = p1.
At Start of Selection Event
START-OF-SELECTION.
PERFORM upload_data.
PERFORM upload_text.
*& Form upload_data
text
--> p1 text
<-- p2 text
FORM upload_data .
temp = p1.
**& Upload Data from Excel
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = temp
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = itab.
ENDFORM. " upload_data
*& Form upload_text
text
--> p1 text
<-- p2 text
FORM upload_text .
tdspras = 'EN'.
tdid = 'BEST'.
tdobject = 'MATERIAL'.
LOOP AT itab.
REFRESH lines.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = itab-tdname
IMPORTING
output = itab-tdname.
TRANSLATE itab-tdname TO UPPER CASE.
tdname = itab-tdname.
PERFORM check_material.
lines-tdline = itab-tdline1.
APPEND lines.
CLEAR lines.
lines-tdline = itab-tdline2.
APPEND lines.
CLEAR lines.
lines-tdline = itab-tdline3.
APPEND lines.
CLEAR lines.
lines-tdline = itab-tdline4.
APPEND lines.
CLEAR lines.
lines-tdline = itab-tdline5.
APPEND lines.
CLEAR lines.
CALL FUNCTION 'CREATE_TEXT'
EXPORTING
fid = tdid
flanguage = tdspras
fname = tdname
fobject = tdobject
TABLES
flines = lines.
ENDLOOP.
IF itab_error[] IS NOT INITIAL.
WRITE : / 'PO Text For Following Material is not Uploaded'.
WRITE : / .
WRITE : / 'Material', ' Error'.
LOOP AT itab_error.
WRITE : / itab_error-tdname, ' ', itab_error-error.
ENDLOOP.
ELSE.
MESSAGE s001(38) WITH 'Data Uploaded Succcesfully'.
ENDIF.
ENDFORM. " upload_text
*& Form check_material
text
--> p1 text
<-- p2 text
FORM check_material .
DATA : w_matnr TYPE mara-matnr.
SELECT SINGLE matnr
INTO w_matnr
FROM mara
WHERE matnr = itab-tdname.
IF sy-subrc = 0.
flag = 'X'.
ELSE.
MOVE-CORRESPONDING itab TO itab_error.
itab_error-error = 'Material does not exist'.
APPEND itab_error.
ENDIF.
ENDFORM. " check_material -
I am getting problem with internal table & work area declaration.
I am working with 'makt' table ..with the table makt i need to work with styles attributes ..so i declared like this
TYPES : BEGIN OF ty_makt,
matnr TYPE makt-matnr,
spras TYPE makt-spras,
maktx TYPE makt-maktx,
maktg TYPE makt-maktg,
celltab TYPE lvc_t_styl,
END OF ty_makt.
DATA : i_makt TYPE TABLE OF ty_makt.
DATA : wa_makt TYPE ty_makt .
But end of program i need to update dbtable "makt"...i am getting problem with internal table & work area declaration.
i think makt table fields mapping and internal table/work area mapping is not correct. so please help me to get out from this.Hi Nagasankar,
TYPES : BEGIN OF TY_MATNR,
MATNR TYPE MAKT-MATNR,
SPRAS TYPE MAKT-SPRAS,
MAKTX TYPE MAKT-MAKTX,
MAKTX TYPE MAKT-MAKTG,
CELLTAB TYPE LVC_T_STYL, " Its Working perfectly fine..
END OF TY_MAKT.
DATA: IT_MAKT TYPE STANDARD TABLE OF TY_MAKT,
WA_MAKT TYPE TY_MAKT.
Its working perfectly fine. if still you are facing any issue post your complete code.
Thanks,
Sandeep -
How to get the data in one internal table? with 3 different tables..
Hi,
i need to get the all the ff data to put in an internal table. I'm using these data to my ALV. Thanks
vkorg TYPE a005-vkorg,
vtweg TYPE a005-vtweg,
kschl TYPE a005-kschl,
kondm TYPE mvke-kondm,
matnr TYPE a005-matnr,
kdgrp TYPE knvv-kdgrp,
konda TYPE knvv-konda,
kunnr TYPE a005-kunnr,
datab TYPE a005-datab,hi,
try this
*& Report ZPROGRAM
REPORT ZPROGRAM.
table declaration.
tables : zemployee, zdepartment,zproject.
*type-pools declaration
type-pools : slis , icon.
type specification
types : begin of ty_emp,
empid type zempid,
empname type zempname,
empaddress type zempaddress,
city type zcity,
ponumber type zponumber,
detid type zdeptid,
end of ty_emp.
types : begin of ty_dept,
detid type zdeptid,
deptname type zdeptname,
designation type zdesignation,
projectid type zprojectid,
end of ty_dept.
types : begin of ty_project,
projectid type zprojectid,
technology type ztechnology,
clientname type zclientname,
end of ty_project.
types : begin of ty_final,
empid type zempid,
empname type zempname,
empaddress type zempaddress,
city type zcity,
ponumber type zponumber,
detid type zdeptid,
deptname type zdeptname,
designation type zdesignation,
projectid type zprojectid,
technology type ztechnology,
clientname type zclientname,
average type p decimals 2,
end of ty_final.
table type specification.
types : tt_emp type standard table of ty_emp,
tt_dept type standard table of ty_dept,
tt_project type standard table of ty_project,
tt_final type standard table of ty_final.
work area creation.
data : wa_emp type ty_emp,
wa_dept type ty_dept,
wa_project type ty_project,
wa_final type ty_final.
internal table declaration
data : itab_emp type tt_emp,
itab_dept type tt_dept,
itab_project type tt_project,
itab_final type tt_final.
layout declaration
data : gd_layout type slis_layout_alv.
assigning current program name.
data : gd_repid like sy-repid.
gd_repid = sy-repid.
fieldcatalog declaration.
data : d_fieldcat type slis_t_fieldcat_alv,
d_fieldcat_wa type slis_fieldcat_alv.
header declaration.
data : t_header type slis_t_listheader,
wa_header type slis_listheader,
linecount(10) type c,
line(10) type c.
selection-screen.
selection-screen : begin of block blk1 with frame title text-001.
select-options : s_empid for zemployee-empid.
parameters : p_dname like zdepartment-deptname.
parameters : p_proid like zproject-projectid.
selection-screen : begin of line.
parameters : p_rad1 radiobutton group r1.
selection-screen comment 3(10) text-002.
parameters : p_rad2 radiobutton group r1.
selection-screen comment 16(10) text-003.
selection-screen : end of line.
parameters : chk1 as checkbox.
selection-screen : end of block blk1.
end of selection screen.
start of selection.
select empid empname empaddress city ponumber detid from zemployee into corresponding fields of table itab_emp where empid in s_empid.
if not itab_emp is initial.
select detid deptname designation projectid from zdepartment into corresponding fields of table itab_dept for all entries in itab_emp where detid = itab_emp-detid .
if not itab_dept is initial.
select projectid technology clientname from zproject into corresponding fields of table itab_project for all entries in itab_dept where projectid = itab_dept-projectid.
endif.
endif.
*end of selection.
populating data into itab_final from itab_emp.
loop at itab_emp into wa_emp.
wa_final-empid = wa_emp-empid.
wa_final-empname = wa_emp-empname.
wa_final-empaddress = wa_emp-empaddress.
wa_final-ponumber = wa_emp-ponumber.
wa_final-city = wa_emp-city.
wa_final-detid = wa_emp-detid.
append wa_final to itab_final.
clear wa_final.
endloop.
*populating data into itab_final from itab_dept and itab_project
loop at itab_final into wa_final.
read table itab_dept into wa_dept with key detid = wa_final-detid.
if sy-subrc = 0.
wa_final-deptname = wa_dept-deptname.
wa_final-designation = wa_dept-designation.
wa_final-projectid = wa_dept-projectid.
modify itab_final from wa_final transporting deptname designation projectid .
endif.
read table itab_project into wa_project with key projectid = wa_final-projectid.
if sy-subrc = 0.
wa_final-technology = wa_project-technology.
wa_final-clientname = wa_project-clientname.
modify itab_final from wa_final transporting technology clientname.
endif.
endloop.
if p_rad1 = 'X' or chk1 = 'X'.
d_fieldcat_wa-fieldname = 'EMPID'.
d_fieldcat_wa-seltext_l = 'Employee Id'.
d_fieldcat_wa-emphasize = 'X'.
d_fieldcat_wa-col_pos = 1.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'EMPNAME'.
d_fieldcat_wa-seltext_l = 'Employee Name'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 2.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'EMPADDRESS'.
d_fieldcat_wa-seltext_l = 'Employee Address'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 3.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'CITY'.
d_fieldcat_wa-seltext_l = 'City'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 4.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'PONUMBER'.
d_fieldcat_wa-seltext_l = 'Postal Number'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 5.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'DETID'.
d_fieldcat_wa-seltext_l = 'Department Id'.
d_fieldcat_wa-emphasize = 'X'.
d_fieldcat_wa-col_pos = 6.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'DEPTNAME'.
d_fieldcat_wa-seltext_l = 'Department Name'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 7.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'DESIGNATION'.
d_fieldcat_wa-seltext_l = 'Designation'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 8.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'PROJECTID'.
d_fieldcat_wa-seltext_l = 'Project Id'.
d_fieldcat_wa-emphasize = 'X'.
d_fieldcat_wa-col_pos = 9.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'TECHNOLOGY'.
d_fieldcat_wa-seltext_l = 'technology'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 10.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'CLIENTNAME'.
d_fieldcat_wa-seltext_l = 'Client Name'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 11.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
endif.
if p_rad2 = 'X' or chk1 = 'X'.
refresh itab_emp.
d_fieldcat_wa-fieldname = 'DETID'.
d_fieldcat_wa-seltext_l = 'Department Id'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 6.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'DEPTNAME'.
d_fieldcat_wa-seltext_l = 'Department Name'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 7.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'DESIGNATION'.
d_fieldcat_wa-seltext_l = 'Designation'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 8.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'PROJECTID'.
d_fieldcat_wa-seltext_l = 'Project Id'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 9.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'TECHNOLOGY'.
d_fieldcat_wa-seltext_l = 'technology'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 10.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
d_fieldcat_wa-fieldname = 'CLIENTNAME'.
d_fieldcat_wa-seltext_l = 'Client Name'.
d_fieldcat_wa-emphasize = 'C710'.
d_fieldcat_wa-col_pos = 11.
append d_fieldcat_wa to d_fieldcat.
clear d_fieldcat_wa.
endif.
Grid display function module
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 = 'SET_PF_STATUS'
I_CALLBACK_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 = 'EMPLOYEE DETAILS'
I_GRID_SETTINGS =
IS_LAYOUT = gd_layout
IT_FIELDCAT = d_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
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
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = itab_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.
set pf_status for creating client specified icons.
form set_pf_status using rt_extab type slis_t_extab.
set pf-status 'NEWSTATUS'.
endform.
populating data into header using top_of_page
form top_of_page.
wa_header-typ = 'H'.
wa_header-info = 'ALV REPORT'.
append wa_header to t_header.
clear wa_header.
wa_header-typ = 'S'.
wa_header-key = 'Date :'.
Concatenate sy-datum+6(2) '.'
sy-datum+4(2) '.'
sy-datum(4) into wa_header-info.
append wa_header to t_header.
clear wa_header.
wa_header-typ = 'S'.
wa_header-key = 'Time :'.
Concatenate sy-Uzeit(2) '.'
sy-datum+2(2) '.'
sy-datum+4(2) into wa_header-info.
append wa_header to t_header.
clear wa_header.
describe table itab_final lines line.
wa_header-typ = 'A'.
linecount = line.
Concatenate 'Total number of records :' linecount into wa_header-info separated by space.
append wa_header to t_header.
clear wa_header.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = t_header
I_LOGO = 'VMCADMIN'
I_END_OF_LIST_GRID =
I_ALV_FORM =
endform.
*designing layout.
form gd_layout.
gd_layout-zebra = 'X'.
gd_layout-edit = 'X'.
gd_layout-no_hotspot = ''.
gd_layout-no_colhead = ''.
gd_layout-colwidth_optimize = 'X'.
endform.
Reward with points if helpful. -
How to bind internal table values with RootUIElement(Table) from select Que
Hello Friends,
In my view Layout,there r two Input fields ,Submit button and Table... My concept is when user posting values in two input fields and clicking submit button means the result(more than one values) should be displayed in Table...
I written coding also but i dont know to bind internal table values with Table... My code as follows,
method onactionsearch .
data:
Node_Node_Flight type ref to If_Wd_Context_Node,
Elem_Node_Flight type ref to If_Wd_Context_Element,
Stru_Node_Flight type If_View1=>Element_Node_Flight ,
itab TYPE STANDARD TABLE OF sflight.
navigate from <CONTEXT> to <NODE_FLIGHT> via lead selection
Node_Node_Flight = wd_Context->get_Child_Node( Name = IF_VIEW1=>wdctx_Node_Flight ).
@TODO handle not set lead selection
if ( Node_Node_Flight is initial ).
endif.
get element via lead selection
Elem_Node_Flight = Node_Node_Flight->get_Element( ).
@TODO handle not set lead selection
if ( Elem_Node_Flight is initial ).
endif.
alternative access via index
Elem_Node_Flight = Node_Node_Flight->get_Element( Index = 1 ).
@TODO handle non existant child
if ( Elem_Node_Flight is initial ).
endif.
get all declared attributes
Elem_Node_Flight->get_Static_Attributes(
importing
Static_Attributes = Stru_Node_Flight ).
select * from sflight into CORRESPONDING FIELDS OF TABLE itab
WHERE carrid = Stru_Node_Flight-carrid and connid = Stru_Node_Flight-connid.
Node_Node_Flight->bind_table( new_items = itab ).
endmethod.
Plz reply me asap...!Hi,
What I understood from your coding is...
* navigate from <CONTEXT> to <NODE_FLIGHT> via lead selection
Node_Node_Flight = wd_Context->get_Child_Node( Name = IF_VIEW1=>wdctx_Node_Flight ).
You are reading values from the above node and binding the values to the same node.Am i right?
Did you take seperate context node for your input fields or binded the above context to the fields.If not then read the context attribute values which are binded to the carrid and connid then pass these values to select query.
One more thing is select cardinality 1..n for node NODE_FLIGHT since you are displaying more than one record.
Go through the some basic tutorials.Search in sdn you will it get.Already there is a tutorial in sdn which explains exactly what do you require.
Go throgh this link
Web Dynpro for ABAP: Tutorials for Beginners
Web Dynpro for ABAP: Tutorials for Beginners [original link is broken]
Edited by: suman kumar chinnam on Mar 26, 2009 10:50 AM -
Hi.
I have a function module with a internal table. This internal table has 30 fields and i have to it to a program vis SUBMIT, furthemore this program will be executed inside a job. Im trying to pass tha internal table with export and import but it doesn´t go.
Anybody can help me???
Thanks.Hi Jorge
Will try to answer basing on what i can understand
from you query.
I guess you have an internal table in your FM with
some data. You are submitting a program within the FM
and you need the data in the internal table to be used
in the program.
If my understanding is right, you can do it via
EXPORT/IMPORT statements.
EXPORT <int_tab> TO MEMORY ID 'MID'. --> In FM.
IMPORT <int_tab> FROM MEMORY ID 'MID". --> In Program
Note that the internal table declaration should be
the same in FM and Program like name of the internal
table, all field names, data type everything should be
the same.
Check if you are handling the same way.
Kind Regards
Eswar -
Help with Internal table - Urgent Please
I had an internal table declared as below:
DATA: BEGIN OF i_results OCCURS 0,
pernr like p0014-pernr,
begda like zhrccroll-begda, "Cost center roll out begin date
endda like zhrccroll-endda, "Cost center roll out end date
aedtm like p0014-aedtm,
uname like p0014-uname,
kostl like p0001-kostl,
ittype(7),
END OF i_results.
And my SQL to populate the table based on some other results:
select t1pernr t3begda t3endda t1aedtm t1uname t2kostl
appending corresponding fields of table i_results
from pa0014 as t1
inner join pa0001 as t2
on t1pernr = t2pernr
inner join zhrccroll as t3
on t2kostl = t3kostl
for all entries in i_it01
where t1~pernr = i_it01-pernr
and t2~kostl = i_it01-kostl
and t3~kostl = i_it01-kostl
and t3~syst = 'STAFF'
and t1~aedtm = p_date
and t1~uname in so_name.
Everything was working great and now user wants to see additional dates on the report so I have to add couple of dates to internal table but unfortunately they have same names (begda, endda), Now I need internal table like this:
DATA: BEGIN OF i_results OCCURS 0,
pernr like p0014-pernr,
begda like zhrccroll-begda, "Cost center roll out begin date
endda like zhrccroll-endda, "Cost center roll out end date
aedtm like p0014-aedtm,
uname like p0014-uname,
kostl like p0001-kostl,
begda like p0014-begda, "infotype begin date
endda like p0014-endda, "infotype end date
ittype(7),
END OF i_results.
I cannot have duplicate declarations in internal table and also my SQL would not work. The new SQL would be:
select t1pernr t3begda t3endda t1aedtm t1uname t2kostl
t1begda t1endda
appending corresponding fields of table i_results
from pa0014 as t1
inner join pa0001 as t2
on t1pernr = t2pernr
inner join zhrccroll as t3
on t2kostl = t3kostl
for all entries in i_it01
where t1~pernr = i_it01-pernr
and t2~kostl = i_it01-kostl
and t3~kostl = i_it01-kostl
and t3~syst = 'STAFF'
and t1~aedtm = p_date
and t1~uname in so_name.
This is not working either.
Could comeone please help me how to acheive the desired result. I am trying to get all the data in one shot, and that is why I have the SQL above. Any ideas you could provide would be greatly appreciated.
Thanks in advance.
MithunHI Mithun,
To add to vishnu do not use "appending corresponding fields of"..
1) if you are reading this data again and again then use
"appending table itab"
2) if it is triggered just once then use
"into table itab"
And also define ur itab as:
DATA: BEGIN OF i_results OCCURS 0,
pernr like p0014-pernr,
ccbegda like zhrccroll-begda, "Cost center roll out begin date
ccendda like zhrccroll-endda, "Cost center roll out end date
aedtm like p0014-aedtm,
uname like p0014-uname,
kostl like p0001-kostl,
begda like p0014-begda, "infotype begin date
endda like p0014-endda, "infotype end date
ittype(7),
END OF i_results.
and your select statement as:
select t1pernr t3begda as ccbegda t3endda as ccenda t1aedtm t1~uname
t2kostl t1begda t1~endda into table i_results
from pa0014 as t1
inner join pa0001 as t2
on t1pernr = t2pernr
inner join zhrccroll as t3
on t2kostl = t3kostl
for all entries in i_it01
where t1~pernr = i_it01-pernr
and t2~kostl = i_it01-kostl
and t3~kostl = i_it01-kostl
and t3~syst = 'STAFF'
and t1~aedtm = p_date
and t1~uname in so_name
I am sure you need to tweak and twist the above statements a bit..
Hope this helps..
BR
Rakesh
PS: Please close the thread if your problem is solved.. -
DIFF: Field string ,Structure and Internal table declaration
Hai,
what is the diference between Field string ,Structure in ABAP program and Internal table declaration and how it will work ?
Thank you
ASHOK KUMAR.hi,
Look this u will get a good idea.
*& Report ZTYPES *
REPORT ZTYPES .
* Table declaration (old method)
DATA: BEGIN OF tab_ekpo OCCURS 0, "itab with header line
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
END OF tab_ekpo.
*Table declaration (new method) "USE THIS WAY!!!
TYPES: BEGIN OF t_ekpo,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
END OF t_ekpo.
DATA: it_ekpo TYPE STANDARD TABLE OF t_ekpo INITIAL SIZE 0, "itab
wa_ekpo TYPE t_ekpo. "work area (header line)
* Build internal table and work area from existing internal table
DATA: it_datatab LIKE tab_ekpo OCCURS 0, "old method
wa_datatab LIKE LINE OF tab_ekpo.
* Build internal table and work area from existing internal table,
* adding additional fields
TYPES: BEGIN OF t_repdata.
INCLUDE STRUCTURE tab_ekpo. "could include EKKO table itself!!
TYPES: bukrs TYPE ekpo-werks,
bstyp TYPE ekpo-bukrs.
TYPES: END OF t_repdata.
DATA: it_repdata TYPE STANDARD TABLE OF t_repdata INITIAL SIZE 0, "itab
wa_repdata TYPE t_repdata. "work area (header line)
Regards
Reshma -
Internal table decaration using "occurs 0" is obsolete! Any other ideas?
Hi All:
I came to know that internal table declaration like shown below is obsolete in ECC6.0:
Data: Begin of i_tab occurs 0.
fld(1),
fld(2),
End of i_tab.
What is the corerct way of declaring internal tables as per the latest version?
Thanks.
MithunHi Mithun,
Check these examples
* Table declaration (old method)
DATA: BEGIN OF tab_ekpo OCCURS 0, "itab with header line
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
END OF tab_ekpo.
*Table declaration (new method) "USE THIS WAY!!!
TYPES: BEGIN OF t_ekpo,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
END OF t_ekpo.
DATA: it_ekpo TYPE STANDARD TABLE OF t_ekpo INITIAL SIZE 0, "itab
wa_ekpo TYPE t_ekpo. "work area (header line)
* Build internal table and work area from existing internal table
DATA: it_datatab LIKE tab_ekpo OCCURS 0, "old method
wa_datatab LIKE LINE OF tab_ekpo.
* Build internal table and work area from existing internal table,
* adding additional fields
TYPES: BEGIN OF t_repdata.
INCLUDE STRUCTURE tab_ekpo. "could include EKKO table itself!!
TYPES: bukrs TYPE ekpo-werks,
bstyp TYPE ekpo-bukrs.
TYPES: END OF t_repdata.
DATA: it_repdata TYPE STANDARD TABLE OF t_repdata INITIAL SIZE 0, "itab
wa_repdata TYPE t_repdata. "work area (header line) -
Internal table declaration - work area and body
Hi all
I have declared my internal table in my program as
data : itab_wa type ZRESULT_LINE,
itab type ZRESULT_ROW.
Where ZRESULT_LINE and ZRESULT_ROW are the structure and table types.
Now I want to add
data: TCOLOR TYPE SLIS_T_SPECIALCOL_ALV.
in my internal table declaration. How can I do this. Please remember I need to have work area and body in my internal table as I have used work area and body in my code.
Waiting..............
Message was edited by: Raju BodaHI,
See the Declarion types of workarea and Internal tables
* Table declaration (old method)
DATA: BEGIN OF tab_ekpo OCCURS 0, "itab with header line
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
END OF tab_ekpo.
*Table declaration (new method) "USE THIS WAY!!!
TYPES: BEGIN OF t_ekpo,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
END OF t_ekpo.
DATA: it_ekpo TYPE STANDARD TABLE OF t_ekpo INITIAL SIZE 0, "itab
wa_ekpo TYPE t_ekpo. "work area (header line)
* Build internal table and work area from existing internal table
DATA: it_datatab LIKE tab_ekpo OCCURS 0, "old method
wa_datatab LIKE LINE OF tab_ekpo.
* Build internal table and work area from existing internal table,
* adding additional fields
TYPES: BEGIN OF t_repdata.
INCLUDE STRUCTURE tab_ekpo. "could include EKKO table itself!!
TYPES: bukrs TYPE ekpo-werks,
bstyp TYPE ekpo-bukrs.
TYPES: END OF t_repdata.
DATA: it_repdata TYPE STANDARD TABLE OF t_repdata INITIAL SIZE 0, "itab
wa_repdata TYPE t_repdata. "work area (header line
you need to maintain same structure for both workarea as well Internal table
Regards
Sudheer -
How to populate internal table field with text data?
Hello Experts,
I was able to load text file to a internal table but data is not populating each field. Can someone help me how to populate each field of internal table from text file?
Here is the text file:
io_name, io_type, io_txsht, io_txlng, io_datatype, io_length
ZEA_IO1, CHA, IO Test, IO Test 1, CHAR, 20
ZEA_IO2, CHA, IO Test, IO Test 2, CHAR, 20
Here is the Code:
*& Report ZAS_BAPI_TEST *
*& InfoObject Creation through BAPI.
*& Read the Text file, call a BAPI to create InfoObjects. *
*& Text file will hold the Info Object Structure. Text file will be *
*& located either work station or local PC.
*& Step 1. Create internal table to hold InfoObject structure *
*& Step 2. Retrieve/Load text file into Internal Table structure *
*& Step 3. Call BAPI Function to Create IO *
*& Step 4. Call BAPI Function to Activate IO *
REPORT ZAS_BAPI_TEST .
Make data separator a comma
CONSTANTS: gc_tab TYPE c VALUE ','.
Declaring Internal table for creating InfoObject
DATA: p_file TYPE string.
DATA: BEGIN OF itab-bapi OCCURS 0,
io_name like BAPI6108-infoobject,
io_type like BAPI6108-type,
io_txsht like BAPI6108-textshort,
io_txlng like BAPI6108-textlong,
io_datatype like BAPI6108-datatp,
io_length like BAPI6108-intlen,
END OF itab-bapi.
DATA ibapi LIKE STANDARD TABLE OF itab-bapi.
PARAMETERS: sel_file(1500) TYPE c default ' ' OBLIGATORY LOWER CASE.
PUT THE TEXT FILE PATH TO P_FILE
p_file = sel_file.
Copy the file from the workstation to the server ****
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = p_file
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = SPACE
HEADER_LENGTH = 0
DAT_MODE = SPACE
CODEPAGE = SPACE
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
READ_BY_LINE = 'X'
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = itab-bapi[]
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
not_supported_by_gui = 17
error_no_gui = 18
OTHERS = 19.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
MESSAGE e012(zea_spms) WITH 'Method' 'GUI_UPLOAD' sy-subrc.
&1 &2 issued return code &3
ELSE.
pit_data[] = lit_data[].
ENDIF.
ENDIF.
loop at itab-bapi.
write: /5 itab-bapi-io_name,
20 itab-bapi-io_type,
30 itab-bapi-io_txsht,
50 itab-bapi-io_txlng,
75 itab-bapi-io_datatype,
85 itab-bapi-io_length.
endloop.
SELECT THE LOCATION FOR TEXT FILE
AT SELECTION-SCREEN ON VALUE-REQUEST FOR sel_file.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_filename = ''
def_path = 'C:\'
mask = ',Documentos de texto (*.txt), *.txt.'
mode = ''
IMPORTING
filename = p_file
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
find '.txt' IN p_file.
if sy-subrc <> 0.
concatenate p_file '.txt' into sel_file.
else.
sel_file = p_file.
endif.
Create InfoObject through BAPI Function
*CALL FUNCTION 'BAPI_IOBJ_CREATE'.
*IMPORTING
VALUE(DETAILS) LIKE BAPI6108 STRUCTURE BAPI6108
*EXPORTING
VALUE(INFOOBJECT) LIKE BAPI6108-INFOOBJECT
VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2
TABLES
COMPOUNDS STRUCTURE BAPI6108CM OPTIONAL
ATTRIBUTES STRUCTURE BAPI6108AT OPTIONAL
NAVIGATIONATTRIBUTES STRUCTURE BAPI6108AN OPTIONAL
ATRNAVINFOPROVIDER STRUCTURE BAPI6108NP OPTIONAL
HIERARCHYCHARACTERISTICS STRUCTURE BAPI6108HC OPTIONAL
ELIMINATION STRUCTURE BAPI6108IE OPTIONAL
RETURNTABLE STRUCTURE BAPIRET2 OPTIONAL
Activate InfoObject through BAPI Function
CALL FUNCTION 'BAPI_IOBJ_ACTIVATE_MULTIPLE'
*ENDFORM. " RETRIEVE_DATASET
I appreciate your help.
Regards,
MauI have used tab delimited file.
Here are file contents
io_name io_type io_txsht io_txlng io_datatype io_length
ZEA_IO1 CHA IO Test IO Test 1 CHAR 20
ZEA_IO2 CHA IO Test IO Test 2 CHAR 20
And here is program used
*& Report ZAS_BAPI_TEST *
*& InfoObject Creation through BAPI.
*& Read the Text file, call a BAPI to create InfoObjects. *
*& Text file will hold the Info Object Structure. Text file will be *
*& located either work station or local PC.
*& Step 1. Create internal table to hold InfoObject structure *
*& Step 2. Retrieve/Load text file into Internal Table structure *
*& Step 3. Call BAPI Function to Create IO *
*& Step 4. Call BAPI Function to Activate IO *
REPORT ZAS_BAPI_TEST .
Make data separator a comma
CONSTANTS: gc_tab TYPE c VALUE ','.
Declaring Internal table for creating InfoObject
DATA: p_file TYPE string.
DATA: BEGIN OF itab-bapi OCCURS 0,
io_name like BAPI6108-infoobject,
io_type like BAPI6108-type,
io_txsht like BAPI6108-textshort,
io_txlng like BAPI6108-textlong,
io_datatype like BAPI6108-datatp,
io_length like BAPI6108-intlen,
END OF itab-bapi.
DATA ibapi LIKE STANDARD TABLE OF itab-bapi.
PARAMETERS: sel_file(1500) TYPE c default ' ' OBLIGATORY LOWER CASE.
PUT THE TEXT FILE PATH TO P_FILE
p_file = sel_file.
Copy the file from the workstation to the server ****
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = p_file
<b>FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'</b>
TABLES
data_tab = itab-bapi[]
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
not_supported_by_gui = 17
error_no_gui = 18
OTHERS = 19.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
MESSAGE e012(zea_spms) WITH 'Method' 'GUI_UPLOAD' sy-subrc.
&1 &2 issued return code &3
ELSE.
pit_data[] = lit_data[].
ENDIF.
ENDIF.
loop at itab-bapi.
write: /5 itab-bapi-io_name,
20 itab-bapi-io_type,
30 itab-bapi-io_txsht,
50 itab-bapi-io_txlng,
75 itab-bapi-io_datatype,
85 itab-bapi-io_length.
endloop.
SELECT THE LOCATION FOR TEXT FILE
AT SELECTION-SCREEN ON VALUE-REQUEST FOR sel_file.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_filename = ''
def_path = 'C:\'
mask = ',Documentos de texto (*.txt), *.txt.'
mode = ''
IMPORTING
filename = p_file
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
find '.txt' IN p_file.
if sy-subrc <> 0.
concatenate p_file '.txt' into sel_file.
else.
sel_file = p_file.
endif.
Create InfoObject through BAPI Function
*CALL FUNCTION 'BAPI_IOBJ_CREATE'.
*IMPORTING
VALUE(DETAILS) LIKE BAPI6108 STRUCTURE BAPI6108
*EXPORTING
VALUE(INFOOBJECT) LIKE BAPI6108-INFOOBJECT
VALUE(RETURN) LIKE BAPIRET2 STRUCTURE BAPIRET2
TABLES
COMPOUNDS STRUCTURE BAPI6108CM OPTIONAL
ATTRIBUTES STRUCTURE BAPI6108AT OPTIONAL
NAVIGATIONATTRIBUTES STRUCTURE BAPI6108AN OPTIONAL
ATRNAVINFOPROVIDER STRUCTURE BAPI6108NP OPTIONAL
HIERARCHYCHARACTERISTICS STRUCTURE BAPI6108HC OPTIONAL
ELIMINATION STRUCTURE BAPI6108IE OPTIONAL
RETURNTABLE STRUCTURE BAPIRET2 OPTIONAL
Activate InfoObject through BAPI Function
CALL FUNCTION 'BAPI_IOBJ_ACTIVATE_MULTIPLE'
*ENDFORM. " RETRIEVE_DATASET
This program is working fine. You can test it.
Only problem is as the column headings are big for some columns, they are getting truncated which you can always change by changing the column width in declaration
Please let me know if this helps.
ashish -
Issue with internal table in object oriented ABAP.
Hello Gurus,
I am having trouble defining internal table in Object oriented ABAP. for following:
DATA: BEGIN OF IT_TAB OCCURS 0.
INCLUDE STRUCTURE ZCUSTOM.
DATA tot_sum TYPE char40.
DATA END OF IT_TAB.
Can someone help ?
Regards,
Jainam.
Edited by: Jainam Shah on Feb 5, 2010 8:33 PM
Edited by: Jainam Shah on Feb 5, 2010 8:33 PM
Moderator message - Please post in the correct forum. You can easily find out for yourself by looking at SAP help for internal tables using OOP - thread locked
Edited by: Rob Burbank on Feb 5, 2010 2:49 PMNo, you can not declare internal table with header line in OO context. You have to declare the work are/header line separately
Example:
TYPES: BEGIN OF ty_it_tab.
INCLUDE STRUCTURE mara.
TYPES: tot_sum TYPE char40.
TYPES: END OF ty_it_tab.
DATA: it_tab TYPE STANDARD TABLE OF ty_it_tab.
DATA: wk_tab TYPE ty_it_tab.
LOOP AT it_tab INTO wk_tab.
ENDLOOP.
Edited by: Dean Q on Feb 5, 2010 8:50 PM -
How to populate dynamic internal table fields with data??
Hi Folks,
How to assign a particular internal table field to a dynamically assigned internal table?
I have an excel sheet, and i upload the excel sheet data into an internal IT_EXLOAD table using FM ALSM_EXCEL_TO_INTERNAL_TABLE
Now i created a dynamic internal table which has the same column as in my DB table.
I have to fill the dynamically created Internal table with the IT_EXLOAD data dynamically.
Suppose in future if i add some field in DB table and for that field if i add some column in excel sheet there is no need to change in the program.
Looking for reply...
Best Regards,
Sayakhi,
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = p_path
i_begin_col = '1'
i_begin_row = '2'
i_end_col = '2'
i_end_row = '1000'
TABLES
intern = intern
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
*declare intern_tmp as internal table tb_data in wich you want the data
*and declare a field symbol <fs_123>
LOOP AT intern.
ASSIGN COMPONENT intern-col OF STRUCTURE
intern_tmp TO <fs_123>.
IF NOT <fs_123> IS ASSIGNED.
CLEAR intern.
CLEAR intern_tmp.
CONTINUE.
ENDIF.
<fs_123> = intern-value.
AT END OF row.
CLEAR tb_data.
MOVE-CORRESPONDING: intern_tmp TO tb_data.
APPEND tb_data.
CLEAR intern_tmp.
ENDAT.
CLEAR intern.
ENDLOOP.
**paste this code and you can see the data in ur tables dynamically.
Thanks
Nitin Sachdeva -
Bdc upload file data into internal table problem with gui_upload fm
Hello experts,
my coding is like this ..
data : begin of itab occurs 0 .
field1 like mara-matnr,
field2......
etc,
end of itab.
data: file1 type string.
parameter :file like rlgrap-filename.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR file.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
static = 'X'
mask = space
field_name = 'FILE'
CHANGING
file_name = file.
START-OF-SELECTION.
FILE1 = FILE . "HERE I AM PASSING INTO STRING
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = FILE1
FILETYPE = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = itab. " here the data is not populating from the file , it is giving the error like speified table not found.
HERE i am getting the message like "specified table name not recgonised" . the data is not populating into the itab from the file.
file structure is same as the internal table.
I stored the file as .txt( ie in notepad).
my file is like this..
10000 200 323 sunndarrr.......
i had a problem with this bdc , i am getting like "specified table name not recgonised" in the fm gui_upload while debugging.
when i am using the ws_upload it is working fine.
please guide me where i have done the mistake.
thank you so much for all the replies.Hi,
Have a look on the following code.
TABLES: kna1.
DATA: BEGIN OF itab1 OCCURS 0,
str(255),
END OF itab1.
DATA: itab2 TYPE kna1 OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = 'D:\ABAP EVE\ffile1.txt'
filetype = 'ASC'
TABLES
data_tab = itab1
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
no_authority = 10
OTHERS = 11.
IF sy-subrc <> 0.
WRITE:/ 'sorry'.
ELSE.
LOOP AT itab1.
SPLIT itab1-str AT ',' INTO itab2-kunnr itab2-name1.
APPEND itab2.
ENDLOOP.
IF sy-subrc = 0.
LOOP AT itab2.
WRITE:/ itab2-kunnr,itab2-name1.
INSERT INTO kna1 VALUES itab2.
ENDLOOP.
IF sy-subrc = 0.
WRITE:/ 'inserted'.
ELSE.
WRITE:/ 'not inserted'.
ENDIF.
ELSE.
WRITE:/ 'fail'.
ENDIF.
ENDIF.
Flat file:
10001,Sadney
10003,Yogesh
20005,Madan
1.U need to define internal table with one field of max size
2.upload the flat file data into that internal table
3.split that internal table data into another internal table(having fields)
<REMOVED BY MODERATOR>
thanks,
Chandu
Edited by: Alvaro Tejada Galindo on Apr 30, 2008 12:17 PM -
HI,
I need to DMBE2 value as with respective of Month, Year and Inception date.
I need the output to be like
HKONT BLART PRCTR DMBE2(Month) DMBE2 (Year) DMBE3 (Year)
Below is my code
DATA : BEGIN OF gt_lkorr OCCURS 0,
hkont LIKE bsis-hkont,
prctr LIKE bsis-prctr,
bewar LIKE bsis-bewar,
dmbe2 LIKE bsis-dmbe2,
belnr LIKE bsis-belnr,
budat LIKE bsis-budat,
monat LIKE bsis-monat,
gjahr LIKE bsis-gjahr,
blart LIKE bsis-blart,
shkzg like bsis-shkzg,
END OF gt_lkorr.
*DATA : wa_lkorr LIKE gt_lkorr OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF wa_lkorr OCCURS 0,
hkont LIKE bsis-hkont,
prctr LIKE bsis-prctr,
bewar LIKE bsis-bewar,
dmbe2 LIKE bsis-dmbe2,
belnr LIKE bsis-belnr,
budat LIKE bsis-budat,
monat LIKE bsis-monat,
gjahr LIKE bsis-gjahr,
blart LIKE bsis-blart,
dmbe2_2 LIKE bsis-dmbe2,
dmbe2_3 LIKE bsis-dmbe2,
END OF wa_lkorr.
DATA : gt_final_lkorr LIKE wa_lkorr OCCURS 0 WITH HEADER LINE.
FORM f_get_t030hb_tr.
SELECT hkont lkorr FROM t030hb INTO CORRESPONDING FIELDS OF
TABLE gt_tr_t030hb
WHERE ktopl = 'KCOA'
AND bwber = 'TR'
AND hkont IN so_hkont.
IF gp_pprct IS INITIAL.
SELECT hkont prctr bewar dmbe2 belnr budat monat gjahr blart
FROM bsis INTO CORRESPONDING
FIELDS OF TABLE gt_lkorr FOR ALL ENTRIES
IN gt_tr_t030hb
WHERE bukrs IN so_bukrs
AND gjahr IN so_gjahr
AND prctr IN so_prctr
AND hkont = gt_tr_t030hb-lkorr
AND vbund IN so_vbund.
ELSE.
LOOP AT gt_prctr.
SELECT hkont prctr bewar dmbe2 belnr budat monat gjahr blart
FROM bsis INTO CORRESPONDING
FIELDS OF TABLE gt_lkorr FOR ALL ENTRIES
IN gt_tr_t030hb
WHERE bukrs IN so_bukrs
AND gjahr IN so_gjahr
AND prctr = gt_prctr-prctr
AND hkont = gt_tr_t030hb-lkorr
AND vbund IN so_vbund.
ENDLOOP.
ENDIF.
DELETE ADJACENT DUPLICATES FROM gt_lkorr COMPARING ALL FIELDS.
ENDFORM. "f_get_t030hb_tr
*& Form f_get_yearwise_data
text
FORM f_get_yearwise_data.
DATA : lv_period LIKE t009b-poper.
DATA : lv_year LIKE bsis-gjahr,
lv_dmbe2 LIKE bsis-dmbe2.
LOOP AT gt_lkorr.
CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
EXPORTING
i_date = sy-datum
I_MONMIT = 00
i_periv = 'K4'
IMPORTING
e_buper = lv_period
E_GJAHR =
EXCEPTIONS
input_false = 1
t009_notfound = 2
t009b_notfound = 3
OTHERS = 4
IF gt_lkorr-monat EQ lv_period.
wa_lkorr-hkont = gt_lkorr-hkont.
wa_lkorr-prctr = gt_lkorr-prctr.
wa_lkorr-bewar = gt_lkorr-bewar.
wa_lkorr-dmbe2 = gt_lkorr-dmbe2.
wa_lkorr-blart = gt_lkorr-blart.
if gt_lkorr-shkzg = 'H'.
wa_lkorr-dmbe2 = - wa_lkorr-dmbe2.
endif.
COLLECT wa_lkorr.
endif.
ENDLOOP.
LOOP AT wa_lkorr INTO gt_final_lkorr.
write : / gt_final_lkorr-hkont,
gt_final_lkorr-prctr,
gt_final_lkorr-bewar,
gt_final_lkorr-dmbe2,
gt_final_lkorr-blart.
ENDLOOP.
write : ' Inception to date'.
LOOP AT gt_lkorr.
CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
EXPORTING
i_date = sy-datum
I_MONMIT = 00
i_periv = 'K4'
IMPORTING
e_buper = lv_period
e_gjahr = lv_year
EXCEPTIONS
input_false = 1
t009_notfound = 2
t009b_notfound = 3
OTHERS = 4
IF gt_lkorr-gjahr EQ lv_year.
wa_lkorr-hkont = gt_lkorr-hkont.
wa_lkorr-prctr = gt_lkorr-prctr.
wa_lkorr-bewar = gt_lkorr-bewar.
wa_lkorr-dmbe2 = gt_lkorr-dmbe2.
wa_lkorr-blart = gt_lkorr-blart.
if gt_lkorr-shkzg = 'H'.
wa_lkorr-dmbe2 = - wa_lkorr-dmbe2.
endif.
COLLECT wa_lkorr.
endif.
ENDLOOP.
LOOP AT wa_lkorr into gt_final_lkorr.
WRITE : / gt_final_lkorr-hkont,
gt_final_lkorr-prctr,
gt_final_lkorr-bewar,
gt_final_lkorr-dmbe2,
gt_final_lkorr-blart.
move : wa_lkorr-dmbe2_2 to gt_final_lkorr-dmbe2_2.
modify gt_final_lkorr.
clear gt_final_lkorr.
ENDLOOP.
loop at gt_lkorr.
wa_lkorr-hkont = gt_lkorr-hkont.
wa_lkorr-prctr = gt_lkorr-prctr.
wa_lkorr-bewar = gt_lkorr-bewar.
wa_lkorr-dmbe2 = gt_lkorr-dmbe2.
wa_lkorr-blart = gt_lkorr-blart.
if gt_lkorr-shkzg = 'H'.
wa_lkorr-dmbe2 = - wa_lkorr-dmbe2.
endif.
COLLECT wa_lkorr.
ENDLOOP.
LOOP AT wa_lkorr into gt_final_lkorr.
WRITE : / gt_final_lkorr-hkont,
gt_final_lkorr-prctr,
gt_final_lkorr-bewar,
gt_final_lkorr-dmbe2,
gt_final_lkorr-blart.
ENDLOOP.
Please let me know how to do it?
Thanks,
Pavan.I think you need to insert a field in your wa_lkorr internal table for key which you should populate as M for month data, Y2 for Year data and Y3 for dmbe3 data.
So when you want to display they are three different records.
Maybe you are looking for
-
Login to Domain Controller which is not in network
Scenario I've taken an online clone of one of my Virtual Window 2003 Enterprise Domain Contoller which doesn't hold any roles. Removed the Clone Domain Controller from Network & powered it on. Now I want to log into that Domain Controller using my Do
-
View previous versions of a document
This question was posted in response to the following article: http://help.adobe.com/en_US/story/cs/using/WSeffff8bffc80208413d80fbc12e7690033b-7ffd.html
-
Hi Experts: I got this dump when running CATs from the portal (7.3) or testing in the WD configuration. "Syntax error in program CL_XSS_CAT_1_APPLICATION_CORE=CP" I have the profile name assigned to CVR and have the relevant role assigned to my user.
-
Ok, I have column Event_Time DATE type. It holds this type of values: '21.04.*0010* 10:59:30' Now I don't want to change anything except YEAR. I want to replace '0010' with '2010'. What is the easiest way to do it? thx
-
Application manager ask for serial no
I payed my subscription for Creative Cloud on 1. June and downloaded Photoshop Extended and InDesign. Every time I start either program Application Manager starts with the message that the program is a trial version and I need to licence it. When I t