Field-symbols - line count
Hi,
my problem is the following:
DATA: actual_data TYPE TABLE OF actual_tab.
DATA: plan_data TYPE TABLE OF plan_tab.
IF p_act = 'X'.
ASSIGN actual_data TO <p_return_tab>.
ELSEIF p_plan = 'X'.
ASSIGN plan_data TO <p_return_tab>.
ENDIF.
now unfortunately
describe table <p_return_tab> lines n.
does not work, as i do not have an internal table.
how can I find out, how many lines there are?
thanks!
Margit
HI,
i am getting the values here
DATA: itab type table of mara .
data lines type i.
field-symbols: <ab> like itab.
start-of-selection.
SELECT * frOM mara INTO TABLE itab UP TO 2 ROWS.
assign itab to <ab>.
describe table <ab> lines lines.
write:/ lines.
Regards,
Venkatesh
Similar Messages
-
Declaring Field Symbols in a work area
Hi all!
I'm triying to learn the use of FieldSymbols, and I wrote in my code this:
REPORT zpractica01.
Types
TYPES: BEGIN OF ty_tabla,
name(25) TYPE c,
address(60) TYPE c,
monto(3) TYPE p decimals 2,
END OF ty_tabla.
Internal Table
DATA: t_tabla TYPE STANDARD TABLE OF ty_tabla.
*Work Area
DATA: vl_variable TYPE c LENGTH 512.
Field Symbols
FIELD-SYMBOLS <linea> STRUCTURE st_tabla DEFAULT vl_variable.
If I try to activate the code I see this error:
In the Unicode context, the structure <LINEA> typed using STRUCTURE can only contain character-type components (type C,N,D,T).
I can see that the problem begins when I use a type P inside the structure, but I need to have a type P, so I would like to know how can i use it.
Could you please teach me how I should declare my field symbols in order to use as an structure with a type P field within a loop at - endloop?
I'll really appreciate your help.
Best regards!
Gaby
Edited by: gpsoria on Aug 24, 2009 4:30 PMHello Gaby,
You are getting the error because the structure st_tabla & variable vl_variable are not mutually convertible in a Unicode environment.
Just change the definition of vl_variable & you code will activate.
REPORT zpractica01.
* Types
TYPES: BEGIN OF ty_tabla,
name(25) TYPE c,
address(60) TYPE c,
monto(3) TYPE p decimals 2,
END OF ty_tabla.
* Internal Table
DATA: t_tabla TYPE STANDARD TABLE OF ty_tabla.
*Work Area
DATA: st_tabla TYPE ty_tabla. "--> Add this line
DATA: vl_variable TYPE ty_tabla. "c LENGTH 512.
* Field Symbols
FIELD-SYMBOLS <linea> STRUCTURE st_tabla DEFAULT vl_variable.
*I will suggest decalre like this:
FIELD-SYMBOLS <linea1> TYPE ty_tabla.
Hope i am clear.
BR,
Suhas -
Field-symbol definition for a variable representing transparent tables
Hi Gurus
I'm trying to create a very simple report to display table descriptions and their DB number of records:
Ex:
MARA 50000
MARD 123000
I can't compile this piece of code:
field-symbols: <table>.
assign (DD02T-TABNAME) to <table>.
clear n.
*SELECT COUNT( * )*
INTO n
FROM <table>.
The problem here is that <table> is not defined in the ABAP dictionary as a a table , projection view or databse view.
1. Is there a way of defining <table> with a field-symbol data statement to make it work?
2. Alternatively, how can you produce a list of all table DB entry counts for a dynamic list of transparent tables?
Thanks
NunoWith the code you have field symbol will "point" to a table contained in DD02T-TABNAME , not its name.
What you need is to get the table name , not table itself
field-symbols: <table_name>.
assign DD02T-TABNAME to <table>. "get table name, not its content
clear n.
SELECT COUNT( * )
INTO n
FROM (<table>).
or simply without field symbol
SELECT COUNT( * )
INTO n
FROM (DD02T-TABNAME).
Regards
Marcin -
Problem in color a cell for field symbol table.
Hi guru's
when i'm trying to color a cell based on condition, getting the following error.
ERROR: the data object <line> has no structure and therefore no component called "cell_colour" .
providing my code here:
DATA: wa_cellcolor TYPE lvc_s_scol,
lv_index TYPE sy-tabix.
break satishkumarc.
LOOP AT <table> ASSIGNING <line>.
lv_index = sy-tabix.
ASSIGN COMPONENT 'COMPLIANCE' OF STRUCTURE <line> TO <field>.
IF <field> EQ 'YES'.
wa_cellcolor-fname = 'COMPLIANCE'.
wa_cellcolor-color-col = col_positive.
wa_cellcolor-color-int = 0.
wa_cellcolor-color-inv = 0.
ELSE.
wa_cellcolor-fname = 'COMPLIANCE'.
wa_cellcolor-color-col = col_negative.
wa_cellcolor-color-int = 0.
wa_cellcolor-color-inv = 0.
ENDIF.
APPEND wa_cellcolor TO <line>-cell_colour. " error line
MODIFY <table> FROM <line> INDEX lv_index TRANSPORTING cell_colour. " error line
CLEAR: wa_cellcolor.
ENDLOOP.
actually i know that <line>-cell_colour won't work. but i don't know how to achive this functionality .
could anybody please help me out in this.
Thanks in Advance.
regards
satish
thankhi ashish,
i'm using
field-symbols: <line> type any.
CREATE DATA mydata LIKE LINE OF <table>.
ASSIGN mydata->* TO <line>.
to make the structure. so i guess i cannot give the structure name while declaring <line>.
Thanks & regards
satish -
Better alternative to header lines, use of logical database, field-symbols
Hello experts,
I am wondering if theres a better and faster alternative than declaring a header line for an itab. are work areas faster?
What is the use of logical database? can you please give me an example on how to use it in reports.
how do I use field-symbols? I am confused on how it works.
P.S. I recently installed SAP netweaver preview abap edition
in my home PC and I am wondering if I could practice BDC, user exits, etc. If so, how?
Again, thanks for all your help since I'm kinda new to ABAP.I always use this...It uses header lines, but at least is smaller -:)
<b>DATA: BEGIN OF MY_TAB TYPE STANDARD TABLE OF BKPF WITH HEADER LINE.</b>
For logical databases, you can check my blog...I always use LDB for HR programs -:)
<a href="/people/alvaro.tejadagalindo/blog/2006/02/19/how-to-deal-with-hr-payroll-reports:///people/alvaro.tejadagalindo/blog/2006/02/19/how-to-deal-with-hr-payroll-reports
LDB's provides a lot of information, because they gather it from a lot of different tables...
A Field-Symbols is like a pointer in C++, like an alias for a variable...Here's a small example...
REPORT Z_ATG_DUMMY.
FIELD-SYMBOLS: <F1>, <F2> TYPE I.
DATA: TEXT(20) TYPE C VALUE 'Hello, how are you?',
NUM TYPE I VALUE 5,
BEGIN OF LINE1,
COL1 TYPE F VALUE '1.1e+10',
COL2 TYPE I VALUE '1234',
END OF LINE1,
LINE2 LIKE LINE1.
ASSIGN TEXT TO <F1>.
ASSIGN NUM TO <F2>.
DESCRIBE FIELD <F1> LENGTH <F2>.
TEXT = 'CHAU'.
WRITE: / <F1>, 'has length', NUM.
WRITE: / TEXT, 'has length', NUM.
ASSIGN LINE1 TO <F1>.
ASSIGN LINE2-COL2 TO <F2>.
MOVE <F1> TO LINE2.
ASSIGN 'LINE2-COL2 =' TO <F1>.
I just can't install SAPNWSP...I only got MiniSap...But I got all the development enviorment...Don't know about the User-Exits...Actually I don't think so...Because those "mini" systems doesn't come with any functional module.
Greetings,
Blag. -
How can i know the number of lines in field-symbol internal table
how can i know the number of lines in field-symbol internal table
Hi,
If your field symbol has been defined as an internal table :
Use std describe as
Data: l type i.
describe <fs> lines l.
'l' will contain the number of lines as needed.
FYI
The size of this storage area in a field symbols depends on the number of table lines which is not fixed, but determined dynamically at runtime.
Regards,
Amit -
How to move field symbol internal table to internal table with header line?
Dear all,
hi...hereby i would like to ask how i can move field symbol internal table to a internal table?
as i know field symbol internal table is without header line..
so, may i know how to do this....to move field symbol internal table to internal table which consist of header line and field and record will same as field symbol internal table...in additional, my field symbol internal table is dynamic table mean everytime will have flexible columns..?
Please advise...
Thanks
Regard,
ToToRo.
Edited by: @ToToRo@ on Aug 20, 2009 6:16 AMHello,
Try this way:
If both the type of internal tables are same then you can directly assign dynamic internal table to static internal table.
itab = <itab>.
Suppose you have field symbol internal table <itab> which is different in structure from ITAB.
Now, you can create <wa> as follow:
FIELD-SYMBOLS <wa>.
DATA wa TYPE REF TO DATA.
CREATE DATA wa TYPE LINE OF <itab>.
ASSIGN wa->* to <wa>.
This way your work area is read.
Using [ASSIGN COMPONENT|http://help.sap.com/saphelp_nw04/helpdata/EN/fc/eb3923358411d1829f0000e829fbfe/content.htm] syntax you can read required component of <wa>.
Finally you can use that value to load static internal table.
You can also refer to my thread on [Dynamic table|Re: Creating Dynamic table].
Hope this helps!
Thanks,
Augustin.
Edited by: Augustarian on Aug 20, 2009 10:06 AM -
Header Line Logic for Field Symbols??
Hi Experts,
I have the logic
DATA: Itab TYPE REF TO DATA.
FIELD-SYMBOLS: <itab> TYPE STANDARD TABLE.
CREATE DATA Itab TYPE STANDARD TABLE OF (TABLE_NAME).
ASSIGN Itab->* TO <itab>.
Her I had done the dynamic logic
select (LT_FIELDS)
into corresponding fields of table <itab>
from (TABLE_NAME)
up to 100 rows
WHERE (LT_WHERE).
Now I am having all information in <itab>.
Now I want to take this headerline information of <itab> and populate the same to other structure??
How to take the <itab> as header line information by looping??Hi
see this and use
Field Symbols
Field symbols are placeholders or symbolic names for other fields. They do not physically reserve space for a field, but point to its contents. A field symbol cam point to any data object. The data object to which a field symbol points is assigned to it after it has been declared in the program.
Whenever you address a field symbol in a program, you are addressing the field that is assigned to the field symbol. After successful assignment, there is no difference in ABAP whether you reference the field symbol or the field itself. You must assign a field to each field symbol before you can address the latter in programs.
Field symbols are similar to dereferenced pointers in C (that is, pointers to which the content operator * is applied). However, the only real equivalent of pointers in ABAP, that is, variables that contain a memory address (reference) and that can be used without the contents operator, are reference variables in ABAP Objects.
All operations programmed with field symbols are applied to the field assigned to it. For example, a MOVE statement between two field symbols moves the contents of the field assigned to the first field symbol to the field assigned to the second field symbol. The field symbols themselves point to the same fields after the MOVE statement as they did before.
You can create field symbols either without or with type specifications. If you do not specify a type, the field symbol inherits all of the technical attributes of the field assigned to it. If you do specify a type, the system checks the compatibility of the field symbol and the field you are assigning to it during the ASSIGN statement.
Field symbols provide greater flexibility when you address data objects:
If you want to process sections of fields, you can specify the offset and length of the field dynamically.
You can assign one field symbol to another, which allows you to address parts of fields.
Assignments to field symbols may extend beyond field boundaries. This allows you to address regular sequences of fields in memory efficiently.
You can also force a field symbol to take different technical attributes from those of the field assigned to it.
The flexibility of field symbols provides elegant solutions to certain problems. On the other hand, it does mean that errors can easily occur. Since fields are not assigned to field symbols until runtime, the effectiveness of syntax and security checks is very limited for operations involving field symbols. This can lead to runtime errors or incorrect data assignments.
While runtime errors indicate an obvious problem, incorrect data assignments are dangerous because they can be very difficult to detect. For this reason, you should only use field symbols if you cannot achieve the same result using other ABAP statements.
For example, you may want to process part of a string where the offset and length depend on the contents of the field. You could use field symbols in this case. However, since the MOVE statement also supports variable offset and length specifications, you should use it instead. The MOVE statement (with your own auxiliary variables if required) is much safer than using field symbols, since it cannot address memory beyond the boundary of a field. However, field symbols may improve performance in some cases.
check the below links u will get the answers for your questions
http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3860358411d1829f0000e829fbfe/content.htm
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/field_sy.htm
http://searchsap.techtarget.com/tip/1,289483,sid21_gci920484,00.html
Syntax Diagram
FIELD-SYMBOLS
Basic form
FIELD-SYMBOLS <fs>.
Extras:
1. ... TYPE type
2. ... TYPE REF TO cif
3. ... TYPE REF TO DATA
4. ... TYPE LINE OF type
5. ... LIKE s
6. ... LIKE LINE OF s
7. ... TYPE tabkind
8. ... STRUCTURE s DEFAULT wa
The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas. See Cannot Use Untyped Field Symbols ad Cannot Use Field Symbols as Components of Classes.
Effect
This statement declares a symbolic field called <fs>. At runtime, you can assign a concrete field to the field symbol using ASSIGN. All operations performed with the field symbol then directly affect the field assigned to it.
You can only use one of the additions.
Example
Output aircraft type from the table SFLIGHT using a field symbol:
FIELD-SYMBOLS <PT> TYPE ANY.
DATA SFLIGHT_WA TYPE SFLIGHT.
ASSIGN SFLIGHT_WA-PLANETYPE TO <PT>.
WRITE <PT>.
Addition 1
... TYPE type
Addition 2
... TYPE REF TO cif
Addition 3
... TYPE REF TO DATA
Addition 4
... TYPE LINE OF type
Addition 5
... LIKE s
Addition 6
... LIKE LINE OF s
Addition 7
... TYPE tabkind
Effect
You can define the type of the field symbol using additions 2 to 7 (just as you can for FORM parameters (compare Defining the Type of Subroutine Parameters). When you use the ASSIGN statement, the system carries out the same type checks as for USING parameters of FORMs.
This addition is not allowed in an ABAP Objects context. See Cannot Use Obsolete Casting for FIELD SYMBOLS.
In some cases, the syntax rules that apply to Unicode programs are different than those for non-Unicode programs. See Defining Types Using STRUCTURE.
Effect
Assigns any (internal) field string or structure to the field symbol from the ABAP Dictionary (s). All fields of the structure can be addressed by name: <fs>-fieldname. The structured field symbol points initially to the work area wa specified after DEFAULT.
The work area wa must be at least as long as the structure s. If s contains fields of the type I or F, wa should have the structure s or at least begin in that way, since otherwise alignment problems may occur.
Example
Address components of the flight bookings table SBOOK using a field symbol:
DATA SBOOK_WA LIKE SBOOK.
FIELD-SYMBOLS <SB> STRUCTURE SBOOK
DEFAULT SBOOK_WA.
WRITE: <SB>-BOOKID, <SB>-FLDATE.
Regards
ANJI -
Hi expets.
I have some doubt related to Read Line, iknow it's use but it fails when i m using field symbol.
1->
Do w_lines times.
Read line sy-index field value <fs_customer>-name1.
enddo
Here it makes dump because i m using fied symbol. Its type is correct .
But when i use int. table or structure it's wrks fine
2-> when i try to hide a field sybmol it shows dump. what can i do?
actually in a loop i_customer assigning <fs_customer>
write: /<fs_customer>-name1..etc...
hide : <fs_customer>-kunnr.
here it makes dump when i hide
3-> Problem is-
I have two reports on same screen.1 for Customer and another for Vendor.
both have check boxes.
I want to read them from Screen output and for Customer name i have to get the Customer no. for the selected check box.
Same is with the venodr report n same screen.
wen slect Vendor name check box get vendor no.
My issue is that how i should read two reports on same screen for check boxes.
I mean i will make a DO ...ENDDO . and on it i will read for sy-line-1 times.
then hw i will separate that whetehr this read is for Customer or Vendor.
Do i need to set some flag and then hide that flag.
and supoose if Flag eq C at read then its custoer and as it will be V then its Vendor,
All teh Vendor report is Below thw Customer.
Please tell me the advantage of Field symbol over heaer lines of table./
thanks in Advance.Loop to get the unselected checkbox
DO l_line_lockbx TIMES.
Read the lines on Screen -for LOCK BOX
READ LINE sy-index FIELD VALUE g_check
<fs_lockbx>-name1 .
IF sy-subrc EQ 0 .
If Check Box is not selected-Store in a separate table
if g_check eq c_x.
clear l_name_lockbx.
move <fs_lockbx>-name1 to l_name_lockbx.
Read table to get the Detail when ceck box not selected
read table i_lockbx with key name1 = l_name_lockbx
binary search
assigning <fs_lockbx>.
IF sy-subrc EQ 0.
MOVE : <fs_lockbx>-serial TO <fs_rcvlad>-serial ,
<fs_lockbx>-rcvlad TO <fs_rcvlad>-rcvlad ,
<fs_lockbx>-docnum TO <fs_rcvlad>-docnum .
APPEND <fs_rcvlad> TO i_rcvlad.
CLEAR :<fs_rcvlad> ,
<fs_lockbx> ,
g_check .
endif. " IF sy-subrc EQ 0
ENDIF. " if g_check ne c_x.
ENDDO. " DO l_line_lockbx TIMES. -
Append a new line while using Field Symbols
Hi,
Below is a snippet of my code
DATA: ls_data_package LIKE LINE OF DATA_PACKAGE[].
FIELD-SYMBOLS:<ls_data_package> LIKE LINE OF DATA_PACKAGE[].
zbib_sysn_temp = <ls_data_package>-/bic/zbib_sysn+off3(off4).
<ls_data_package>-/bic/zd_user = <ls_data_package>-/bic/zbib_sysn(off).
<ls_data_package>-/bic/zwrk = <ls_data_package>-/bic/zbib_sysn+off1.
I want to insert a new line to the data package, with all the fields same while adding the above two,
except for,
<ls_data_package>-/bic/zd_user = zbib_sysn_temp
<ls_data_package>-/bic/zitm = 2.
Note: by default the field /bic/zitm = 1. So while adding for the 1st time it is set to 1 by default. I want to add a second (new line) to the datapackage which has all fields same except for the /bic/zd_user and the /bic/zitm = 2.
Please help me with this code,
CDSouvrav, thanks for the reply.
I am not an ABAP'er, I have managed to write code so far. Can you please help me with how this can be done in this code:
DATA: off, off1, off2, off3, off4, off5, off6 TYPE i.
DATA: zbib_sysn_temp TYPE string.
DATA: ls_data_package LIKE LINE OF DATA_PACKAGE[].
FIELD-SYMBOLS:<ls_data_package> LIKE LINE OF DATA_PACKAGE[].
SORT DATA_PACKAGE BY /bic/zbib_id.
LOOP AT DATA_PACKAGE ASSIGNING <ls_data_package>.
IF <ls_data_package>-/bic/zbib_sysn IS NOT INITIAL.
TRANSLATE <ls_data_package>-/bic/zbib_sysn TO UPPER CASE.
FIND '/' IN <ls_data_package>-/bic/zbib_sysn MATCH OFFSET off2.
zbib_sysn_temp = <ls_data_package>-/bic/zbib_sysn+off3(off4).
IF sy-subrc EQ 0.
<ls_data_package>-/bic/zd_user =
<ls_data_package>-/bic/zbib_sysn(off).
Now at this point of code i want to copy this existing record from ls_data_package to create a new record where /bic/zd_user = zbib_sysn_temp and /bic/zitm = 2.
Pleas help... -
Field symbol has not yet been assigned. ???
Dear Experts ,
W hen i tried to execute my program this error appears :
Short text
Field symbol has not yet been assigned.
What happened?
Error in the ABAP Application Program
The current ABAP program "SAPLSLVC" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
Error analysis
You attempted to access an unassigned field symbol
(data segment 32821).
This error may occur if
- You address a typed field symbol before it has been set with
ASSIGN
- You address a field symbol that pointed to the line of an
internal table that was deleted
- You address a field symbol that was previously reset using
UNASSIGN or that pointed to a local field that no
longer exists
- You address a global function interface, although the
respective function module is not active - that is, is
not in the list of active calls. The list of active calls
can be taken from this short dump.
and Here is my CODE :
*& Report ZPO
Report ZPO1.
type-pools slis.
PARAMETERS : PO_Doc like EKBE-EBELN DEFAULT '4800000007'.
PARAMETERS : Plant TYPE WERKS DEFAULT '1000'.
PARAMETERS : PO_ORG TYPE EKORG DEFAULT ''.
data TtlS type mara-wesch .
data TtlH type mara-wesch .
data Ttl type mara-wesch .
data ZEKBE type TABLE OF EKBE.
data ZEKBER type EKBE.
data ZEKPO type TABLE OF EKPO.
data ZEKPOR type EKPO.
data ZEKKOR TYPE EKKO.
data ZNAME1F type LFA1-LIFNR.
data ZWGBEZF TYPE T023T-WGBEZ.
data i type n.
data counter type n.
types : begin of SBAGDS,
Serial Type n, "Purchase Order
EBELN like EKKO-EBELN, "Purchase Order
MATNR like EKPO-MATNR, "Material
TXZ01 like EKPO-TXZ01, "Short Text
MATKL like EKPO-MATKL, "Material Group
WGBEZ like T023T-WGBEZ, "Material Group Desc"
SUBMI like EKKO-SUBMI, "GPM
CHARG like EKBE-CHARG, "Batch
LIFNR like EKKO-LIFNR, "Vendor
NAME1 like LFA1-NAME1, "Vendor Name
RECV like mara-wesch, "Received Quantity
REVR like mara-wesch, "Reversed Quantity
DELV like mara-wesch, "Delivered Quantity
end of SBAGDS .
DATA : BAGDS TYPE SBAGDS OCCURS 0 WITH HEADER LINE.
data Struc like BAGDS.
data: gr_table like BAGDS OCCURS 0 WITH HEADER LINE.
data: gt_fieldcat type slis_t_fieldcat_alv, gt_outtab type SBAGDS occurs 0 with header line.
INITIALIZATION.
i = 0.
counter = 0 .
perform field_cat_init using gt_fieldcat[].
FORM field_cat_init using rt_fieldcat type slis_t_fieldcat_alv.
data: ls_fieldcat type slis_fieldcat_alv,
pos type i value 1.
clear LS_FIELDCAT.
*Column 1
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'Serial'.
ls_fieldcat-SELTEXT_L = 'Serial'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 2
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'EBELN'.
ls_fieldcat-SELTEXT_L = 'Purchase Order'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 3
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'MATNR'.
ls_fieldcat-SELTEXT_L = 'Material'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 4
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'TXZ01'.
ls_fieldcat-SELTEXT_L = 'Short Text'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 5
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'MATKL'.
ls_fieldcat-SELTEXT_L = 'Material Group'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 6
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'WGBEZ'.
ls_fieldcat-SELTEXT_L = 'Material Group Desc'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 7
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'SUBMI'.
ls_fieldcat-SELTEXT_L = 'GPM'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 8
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'CHARG'.
ls_fieldcat-SELTEXT_L = 'Batch'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 9
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'LIFNR'.
ls_fieldcat-SELTEXT_L = 'Vendor'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 10
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'NAME1'.
ls_fieldcat-SELTEXT_L = 'Vendor Name'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 11
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'RECV'.
ls_fieldcat-SELTEXT_L = 'Received Quantity'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 12
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'REVR'.
ls_fieldcat-SELTEXT_L = 'Reversed Quantity'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
*Column 13
ls_fieldcat-col_pos = pos.
ls_fieldcat-fieldname = 'DELV'.
ls_fieldcat-SELTEXT_L = 'Delivered Quantity'.
ls_fieldcat-DDICTXT = 'L'.
append ls_fieldcat to rt_fieldcat.
clear ls_fieldcat.
pos = pos + 1.
endform.
START-OF-SELECTION.
select SINGLE * from EKKO into ZEKKOR where EBELN = PO_DOC.
select SINGLE * from EKPO into ZEKPOR where EBELN = PO_DOC.
select SINGLE NAME1 from LFA1 into ZNAME1F where LIFNR = ZEKKOR-LIFNR.
* ' Buliding Structure
Struc-EBELN = ZEKPOR-EBELN.
Struc-SUBMI = ZEKKOR-SUBMI.
Struc-LIFNR = ZEKKOR-LIFNR.
Struc-Name1 = ZNAME1F.
select * from EKPO into TABLE ZEKPO where EBELN = PO_Doc and WERKS = plant.
LOOP at ZEKPO into ZEKPOR.
select SINGLE WGBEZ from T023T into ZWGBEZF WHERE MATKL = ZEKPOR-MATKL .
counter = counter + 1.
* ' Buliding Structure
Struc-Serial = counter.
Struc-MATNR = ZEKPOR-MATNR.
Struc-TXZ01 = ZEKPOR-TXZ01.
Struc-MATKL = ZEKPOR-MATKL.
Struc-WGBEZ = ZWGBEZF.
* Calcualting Debit transactions from PO History
select * from EKBE into table ZEKBE where EBELN = PO_Doc and MATNR = ZEKPOR-MATNR and EBELP = ZEKPOR-EBELP and BWART NOT LIKE '' and SHKZG = 'S'.
LOOP AT ZEKBE INTO ZEKBER.
TtlS = TtlS + ZEKBER-MENGE.
ENDLOOP.
* ' Buliding Structure
Struc-CHARG = ZEKBER-CHARG.
Struc-RECV = TtlS.
Ttl = TtlS.
clear TtlS.
* Calcualting Credit transactions from PO History
select * from EKBE into table ZEKBE where EBELN = PO_Doc and MATNR = ZEKPOR-MATNR and EBELP = ZEKPOR-EBELP and BWART NOT LIKE '' and SHKZG = 'H'.
LOOP AT ZEKBE INTO ZEKBER.
TtlH = TtlH + ZEKBER-MENGE.
ENDLOOP.
* ' Buliding Structure
Struc-REVR = TtlH.
* Calculating Total Delivered
Ttl = Ttl - TtlH.
clear TtlH.
* ' Buliding Structure
Struc-DELV = Ttl.
clear Ttl.
* Writtng ITAB
APPEND Struc to BAGDS.
ENDLOOP.
* Reading ITAB
* WRITE : / , 'ITAB Begin : ' .
* loop at BAGDS into Struc.
* counter = counter + 1.
* write : /,'Serial : ',counter.
* write : / ,'PO : ',Struc-EBELN.
* write : / ,'Vendor : ',Struc-LIFNR.
* write : / ,'Vendor Name : ',Struc-NAME1.
* write : / ,'Material : ',Struc-MATNR.
* write : /,'Short Text: ',Struc-TXZ01.
* write : / ,'Model : ',Struc-MATKL.
* write : / ,'Model Desc : ',Struc-WGBEZ.
* write : /,'GPM : ',Struc-SUBMI.
* write : /,'Lot : ',Struc-CHARG.
* write : /,'Received : ',Struc-RECV.
* write : /,'Reversed : ',Struc-REVR.
* write : /,'Delivered : ',Struc-DELV,/,/,/.
* ENDLOOP.
* Call ALV Grid Viewer
*BREAK-POINT.
gr_Table[] = BAGDS[].
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_STRUCTURE_NAME = 'SBAGDS'
IT_FIELDCAT = gt_fieldcat[]
TABLES
T_OUTTAB = gr_Table.
Please Advise
Edited by: Sap Sap on Jul 27, 2009 12:18 PM
Edited by: Sap Sap on Jul 27, 2009 12:22 PM
Edited by: Sap Sap on Jul 27, 2009 12:22 PMHi,
The problem seems to be in your ALV grid display.
The reason must be your field catalog.
Just check your fieldcatalog.
The value in the fieldname field of the fieldcatalog should be same as the fieldname in your internal table and should be in capital letters.
Probably you must have mistyped some field.
Kinldy check.
Regards,
Ankur Parab -
How to pass dynamic name to a field-symbol?
Hi All,
I have a requirement like I need to create dynamic internal table with dynamic name. Say like,
Create a new Table
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = it_fieldcat_fin[]
IMPORTING
ep_table = new_table.
IF sy-subrc EQ 0.
Create a new Line with the same structure of the table.
ASSIGN new_table->* to <b>(<fs_table>)</b>.
In the above code, (<fs_table>) is a variable. Actually it is in the loop, so that first time it comes, it has to create an internal table with name as <fs_01>, next time <fs_02> and so on. Hope I am clear.
Please help me. I am sure that i will mark the helpful answers.DATA: DREF TYPE REF TO DATA,WA_REF TYPE REF TO DATA.
FIELD-SYMBOLS: <TEMP_TAB> TYPE TABLE, <TEMP_WA> TYPE ANY.
*& Form DYNAMIC_TABLE
text
--> p1 text
<-- p2 text
FORM DYNAMIC_TABLE.
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = LT_LVCFIELDCAT
IMPORTING
EP_TABLE = DREF.
ASSIGN dref->* TO <TEMP_TAB>.
ENDFORM. " DYNAMIC_TABLE
the above is the procedure to create dynamic internal tables.
now <TEMP_TAB> points to the contents of the table table in DREF.
field symbol it self is meant for dynamic.
then y r u using (<fs_table>).
when everytime the same fieldsymbol is pointing to new contents, y u need new name everytime?
i mean as the data is not static, so what is the use of naming a field symbol every time?.
if u want to store the data in an internal table with a name,
then u can do like below,
data: tabname type string, i type i.
concatenate '<fs_' i into tabname.
"let i be the variable which stores the internal tables count
"MOVE <temp_tab> to tabname. -
Hi All,
I want to apply field symbol technique in my report. actually i have one internal table say i_itab.
it contains fileds like address1 address2 address3 address4 upto address5 . insted of writting each field i want to use field symbol which will increment the counter for field durine runtime. actually i want ot apply this logic for one of my finance report for calculation of periods values hsl01 to hsl16.
can any one give me the solution for how to do this?
thanks in advance
vinod p.Hello Vinod,
If you are trying like this:
CONCATENATE 'wa_remittance_dt-suppl_addr_line' l_cnt2 into l_v_field. " --> Incorrect
ASSIGN l_v_field to <l_v_fields>. " --> Incorrect
You are not assigning the memory area of wa_remittance_dt-suppl_addr_line1 to <l_v_fields>. You are assigning the memory area of l_v_field to <l_v_fields>. Because of this you are getting the blank value.
But if you try like this:
CONCATENATE 'suppl_addr_line' l_cnt2 into l_v_field. "Add this line
ASSIGN COMPONENT l_v_field OF STRUCTURE wa_remittance_dt TO <l_v_fields>.
You are assigning memory area of wa_remittance_dt-suppl_addr_line1 to <l_v_fields>. And after
<l_v_fields> = wa_i_address-l_addr
the value in wa_remittance_dt-suppl_addr_line1 will be changed to that in wa_i_address-l_addr.
I think this should be clear to you.
BR,
Suhas -
Coloring of Particular Cells in a dynamic internal table(field symbols)
Hi,
I have a requirement to introduce color into some particular cells in a dynamic internal table(Field symbol) based on some conditions.I know that color can be introduced at cell level in the case of static internal table.But, can anybody tell me whether it is possible to introduce color to particular cells in the dynamic internal table(Field Symbol) .Please suggest me on this issue.
Thanks in advance,
RajeshHi,
This is the sample coding for the colour cell report.
Kindly go through it. It will helps u.
REPORT YMS_COLOURTEST .
DATA: BEGIN OF TP OCCURS 10, ID, NR(8), TEXT(255), END OF TP.
DATA: LENGTH TYPE I VALUE 8, " Length of list
TESTSTRING(15) TYPE C VALUE '012345678901234',
WIDTH TYPE I. " Width of list
DATA: TXT_REPORT LIKE DOKHL-OBJECT.
START-OF-SELECTION.
PERFORM HEADING.
PERFORM OUTPUT_BODY.
FORM HEADING.
FORMAT INTENSIFIED OFF. " Remove any INTENSIFIED
ULINE AT (WIDTH). " Upper frame border
FORMAT COLOR COL_HEADING INTENSIFIED." Title color
WRITE: / SY-VLINE. " Left border
WRITE: 'No |Colour |intensified |intensified off|',
'inverse' NO-GAP.
WRITE: AT WIDTH SY-VLINE. " Right border
ULINE AT (WIDTH). " Line below titles
FORMAT COLOR OFF.
ENDFORM.
FORM OUTPUT_BODY.
DO LENGTH TIMES.
PERFORM WRITE_LINE USING SY-INDEX.
ENDDO.
ENDFORM.
FORM WRITE_LINE USING COUNT TYPE I.
DATA: HELP(14) TYPE C,
COUNT1 TYPE I.
COUNT1 = SY-INDEX - 1.
WRITE: / SY-VLINE NO-GAP.
WRITE: (4) COUNT1 COLOR COL_KEY INTENSIFIED NO-GAP.
WRITE: SY-VLINE NO-GAP.
CASE COUNT1.
WHEN '0'.
HELP = 'COL_BACKGROUND'.
WHEN '1'.
HELP = 'COL_HEADING'.
WHEN '2'.
HELP = 'COL_NORMAL'.
WHEN '3'.
HELP = 'COL_TOTAL'.
WHEN '4'.
HELP = 'COL_KEY'.
WHEN '5'.
HELP = 'COL_POSITIVE'.
WHEN '6'.
HELP = 'COL_NEGATIVE'.
WHEN '7'.
HELP = 'COL_GROUP'.
ENDCASE.
WRITE: HELP COLOR COL_KEY INTENSIFIED NO-GAP.
WRITE: SY-VLINE NO-GAP.
WRITE: TESTSTRING COLOR = COUNT1 INTENSIFIED NO-GAP.
WRITE: SY-VLINE NO-GAP.
WRITE: TESTSTRING COLOR = COUNT1 INTENSIFIED OFF NO-GAP.
WRITE: SY-VLINE NO-GAP.
WRITE: TESTSTRING COLOR = COUNT1 INVERSE NO-GAP.
WRITE AT WIDTH SY-VLINE NO-GAP.
ENDFORM.
Thanks,
Shankar -
I can't use my field-symbols in my select statement...
Hello experts,
I am have been having problems with my report for the past days. My problem is,
I declared a dynamic field symbol so that I can use it in my select statement
instead of the standard internal table. But it is giving me a dump. Below is my code:
REPORT zfr_forex_rev_acctg
NO STANDARD PAGE HEADING
LINE-COUNT 0
LINE-SIZE 100.
Data dictionary tables *
TABLES: bsis,
bsas,
tcurr,
t001.
FIELD-SYMBOLS: <fs_dyntable> TYPE STANDARD TABLE,
<fs_dynline> TYPE ANY,
<fs_fld> TYPE ANY,
<fs_data> TYPE REF TO data,
<fs_1> TYPE ANY,
<fs_2> TYPE ANY TABLE.
CLASS lcl_main DEFINITION.
PUBLIC SECTION.
METHODS: build_table,
get_data,
combine_data,
display_header,
display_results.
PRIVATE SECTION.
TYPES: BEGIN OF t_bsis_bsas,
zuonr TYPE bsis-zuonr,
gjahr TYPE bsis-gjahr,
belnr TYPE bsis-belnr,
bldat TYPE bsis-bldat,
waers TYPE bsis-waers,
blart TYPE bsis-blart,
dmbtr TYPE bsis-dmbtr,
wrbtr TYPE bsis-wrbtr,
hkont TYPE bsis-hkont,
amount TYPE bsis-wrbtr,
END OF t_bsis_bsas.
DATA: it_bsis_bsas TYPE STANDARD TABLE OF t_bsis_bsas,
v_counter TYPE i.
data declarations for internal table
DATA: lt TYPE lvc_t_fcat,
ls TYPE lvc_s_fcat,
fldname(50) TYPE c,
it_ddfields TYPE TABLE OF ddfield,
wa_ddfields LIKE LINE OF it_ddfields.
ENDCLASS.
CLASS lcl_main IMPLEMENTATION.
METHOD build_table
METHOD build_table.
DATA: lv_from TYPE bsis-gjahr,
lv_asof TYPE bsis-gjahr,
lv_check TYPE i,
lt_data TYPE REF TO data,
lt TYPE lvc_t_fcat.
FIELD-SYMBOLS: <fs_year> TYPE gjahr.
ASSIGN lv_asof TO <fs_year>.
lv_from = p_year.
lv_asof = p_asof+0(4).
v_counter = lv_asof - lv_from.
wa_ddfields-fieldname = 'ZUONR'.
wa_ddfields-position = '0001'.
wa_ddfields-datatype = 'CHAR'.
wa_ddfields-leng = '000018'.
wa_ddfields-decimals = '00000'.
APPEND wa_ddfields TO it_ddfields.
wa_ddfields-fieldname = 'GJAHR'.
wa_ddfields-position = '0002'.
wa_ddfields-datatype = 'NUMC'.
wa_ddfields-leng = '000004'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
wa_ddfields-fieldname = 'BELNR'.
wa_ddfields-position = '0003'.
wa_ddfields-datatype = 'CHAR'.
wa_ddfields-leng = '000010'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
wa_ddfields-fieldname = 'BLDAT'.
wa_ddfields-position = '0004'.
wa_ddfields-datatype = 'DATS'.
wa_ddfields-leng = '000008'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
wa_ddfields-fieldname = 'WAERS'.
wa_ddfields-position = '0005'.
wa_ddfields-datatype = 'CUKY'.
wa_ddfields-leng = '000005'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
wa_ddfields-fieldname = 'BLART'.
wa_ddfields-position = '0006'.
wa_ddfields-datatype = 'CHAR'.
wa_ddfields-leng = '000002'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
wa_ddfields-fieldname = 'DMBTR'.
wa_ddfields-position = '0007'.
wa_ddfields-datatype = 'CURR'.
wa_ddfields-leng = '000013'.
wa_ddfields-decimals = '000002'.
APPEND wa_ddfields TO it_ddfields.
wa_ddfields-fieldname = 'WRBTR'.
wa_ddfields-position = '0008'.
wa_ddfields-datatype = 'CURR'.
wa_ddfields-leng = '000013'.
wa_ddfields-decimals = '000002'.
APPEND wa_ddfields TO it_ddfields.
wa_ddfields-fieldname = 'HKONT'.
wa_ddfields-position = '0009'.
wa_ddfields-datatype = 'CHAR'.
wa_ddfields-leng = '000010'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
wa_ddfields-fieldname = 'AMOUNT'.
wa_ddfields-position = '0010'.
wa_ddfields-datatype = 'CURR'.
wa_ddfields-leng = '000010'.
wa_ddfields-decimals = '000002'.
APPEND wa_ddfields TO it_ddfields.
DATA: lv_position TYPE i.
lv_position = 0011.
WHILE lv_check < v_counter.
<fs_year> = lv_asof.
wa_ddfields-fieldname = <fs_year>.
wa_ddfields-position = lv_position.
wa_ddfields-datatype = 'NUMC'.
wa_ddfields-leng = '000004'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
lv_asof = lv_asof - 1.
ADD 1 TO: lv_check, lv_position.
ENDWHILE.
CLEAR lv_position.
lv_position = 1.
LOOP AT it_ddfields INTO wa_ddfields.
ls-col_pos = lv_position.
ls-row_pos = lv_position.
ls-fieldname = wa_ddfields-fieldname.
APPEND ls TO lt.
ADD 1 TO lv_position.
ENDLOOP.
CLEAR lv_position.
ASSIGN lt_data TO <fs_data>.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = lt
IMPORTING
ep_table = <fs_data>
EXCEPTIONS
generate_subpool_dir_full = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
ASSIGN <fs_data>->* TO <fs_1>.
ASSIGN <fs_1> TO <fs_2>.
ASSIGN <fs_1> TO <fs_dyntable>.
ENDMETHOD.
METHOD get_data
METHOD get_data.
*get records from BSIS
SELECT zuonr gjahr belnr bldat waers blart dmbtr wrbtr hkont
FROM bsis
INTO CORRESPONDING FIELDS OF TABLE <fs_dyntable>
WHERE bukrs = p_bukrs
AND hkont IN s_hkont
AND budat <= p_asof.
*get records from BSAS
SELECT zuonr gjahr belnr bldat waers blart dmbtr wrbtr hkont
FROM bsas
APPENDING CORRESPONDING FIELDS OF TABLE <fs_dyntable>
WHERE bukrs = p_bukrs
AND hkont IN s_hkont
AND budat <= p_asof
AND augdt > p_asof.
ENDMETHOD.
START-OF-SELECTION.
DATA: main TYPE REF TO lcl_main.
CREATE OBJECT main.
CALL METHOD main->build_table.
CALL METHOD main->get_data.
Need help on this problem. Thanks a lot guys and take care!Hi guys,
I found out the problem and Andreas is right. Now, I am having problems when including DMBTR, WRBTR in my select statement. All the others are ok. Here is my modified code. Please suggest what I need to add/modify. Thanks a lot!
CLASS lcl_main IMPLEMENTATION.
METHOD build_table
METHOD build_table.
DATA: lv_from TYPE bsis-gjahr,
lv_asof TYPE bsis-gjahr,
lv_check TYPE i,
lt_data TYPE REF TO data,
lt TYPE lvc_t_fcat.
FIELD-SYMBOLS: <fs_year> TYPE gjahr.
ASSIGN lv_asof TO <fs_year>.
lv_from = p_year.
lv_asof = p_asof+0(4).
v_counter = lv_asof - lv_from.
ZUONR
wa_ddfields-fieldname = 'ZUONR'.
wa_ddfields-position = '0001'.
wa_ddfields-datatype = 'CHAR'.
wa_ddfields-leng = '000018'.
wa_ddfields-decimals = '00000'.
APPEND wa_ddfields TO it_ddfields.
GJAHR
wa_ddfields-fieldname = 'GJAHR'.
wa_ddfields-position = '0002'.
wa_ddfields-datatype = 'NUMC'.
wa_ddfields-leng = '000004'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
BELNR
wa_ddfields-fieldname = 'BELNR'.
wa_ddfields-position = '0003'.
wa_ddfields-datatype = 'CHAR'.
wa_ddfields-leng = '000010'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
BLDAT
wa_ddfields-fieldname = 'BLDAT'.
wa_ddfields-position = '0004'.
wa_ddfields-datatype = 'DATS'.
wa_ddfields-leng = '00008'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
WAERS
wa_ddfields-fieldname = 'WAERS'.
wa_ddfields-position = '0005'.
wa_ddfields-datatype = 'CUKY'.
wa_ddfields-leng = '000005'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
BLART
wa_ddfields-fieldname = 'BLART'.
wa_ddfields-position = '0006'.
wa_ddfields-datatype = 'CHAR'.
wa_ddfields-leng = '000002'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
DMBTR
wa_ddfields-fieldname = 'DMBTR'.
wa_ddfields-position = '0007'.
wa_ddfields-datatype = 'CURR'.
wa_ddfields-leng = '000013'.
wa_ddfields-decimals = '000002'.
APPEND wa_ddfields TO it_ddfields.
WRBTR
wa_ddfields-fieldname = 'WRBTR'.
wa_ddfields-position = '0008'.
wa_ddfields-datatype = 'CURR'.
wa_ddfields-leng = '000013'.
wa_ddfields-decimals = '000002'.
APPEND wa_ddfields TO it_ddfields.
HKONT
wa_ddfields-fieldname = 'HKONT'.
wa_ddfields-position = '0009'.
wa_ddfields-datatype = 'CHAR'.
wa_ddfields-leng = '000010'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
AMOUNT
wa_ddfields-fieldname = 'AMOUNT'.
wa_ddfields-position = '0010'.
wa_ddfields-datatype = 'CURR'.
wa_ddfields-leng = '000010'.
wa_ddfields-decimals = '000002'.
APPEND wa_ddfields TO it_ddfields.
DATA: lv_position TYPE i.
lv_position = 0011.
Additional fields for the years
WHILE lv_check < v_counter.
wa_ddfields-fieldname = <fs_year>.
wa_ddfields-position = lv_position.
wa_ddfields-datatype = 'NUMC'.
wa_ddfields-leng = '000004'.
wa_ddfields-decimals = '000000'.
APPEND wa_ddfields TO it_ddfields.
lv_asof = lv_asof - 1.
ADD 1 TO: lv_check, lv_position.
ENDWHILE.
CLEAR lv_position.
lv_position = 1.
LOOP AT it_ddfields INTO wa_ddfields.
CASE wa_ddfields-fieldname.
WHEN 'BLDAT'.
ls-col_pos = lv_position.
ls-row_pos = lv_position.
ls-fieldname = wa_ddfields-fieldname.
ls-inttype = 'D'.
ls-ref_table = 'BSIS'.
ls-ref_field = 'BLDAT'.
WHEN 'WAERS'.
ls-col_pos = lv_position.
ls-row_pos = lv_position.
ls-fieldname = wa_ddfields-fieldname.
ls-ref_table = 'BSIS'.
ls-ref_field = 'WAERS'.
when 'DMBTR'.
ls-col_pos = lv_position.
ls-row_pos = lv_position.
ls-fieldname = wa_ddfields-fieldname.
ls-ref_table = 'BSIS'.
ls-ref_field = 'DMBTR'.
when 'WRBTR'.
ls-col_pos = lv_position.
ls-row_pos = lv_position.
ls-fieldname = wa_ddfields-fieldname.
ls-ref_table = 'BSIS'.
ls-ref_field = 'WRBTR'.
WHEN OTHERS.
ls-col_pos = lv_position.
ls-row_pos = lv_position.
ls-fieldname = wa_ddfields-fieldname.
ENDCASE.
APPEND ls TO lt.
ADD 1 TO lv_position.
ENDLOOP.
CLEAR lv_position.
ASSIGN lt_data TO <fs_data>.
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = lt
IMPORTING
ep_table = <fs_data>
EXCEPTIONS
generate_subpool_dir_full = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
ASSIGN <fs_data>->* TO <fs_1>.
ASSIGN <fs_1> TO <fs_2>.
ASSIGN <fs_1> TO <fs_dyntable>.
ENDMETHOD.
Maybe you are looking for
-
Can't access a bpel process from a standalone java client
Hi i am using soa suite 10.1.3 and i'm trying to invoke a bpel process from a java client I am using the tutorial from this page: http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-Tutorial7-InvokingBPELProcesses.pdf but i am trying to do
-
My iPad 2 went to the lock screen while using Chrome?
I was using the Chrome browser on iPad 2 when it suddenly turned to the lockscreen. It kept doing that for about... Four times. It stopped for a bit now, but I'm not sure if I just accidentally pressed the power button or it's a real problem. I don't
-
I have a question about the Nemo Reef game?
I decided to find a new game to play & I started playing the Nemo reef game because it's always been my favorite movie since it came out even if I am 21 now. On the game on the side where Nemo marlin or any of the other fish ask you to plant & grow a
-
Hello All! 1) I have a form field where a customer can input mileage (e.g. 48,000) I would like to be able to dynamically place the comma in the proper place as well as add " miles" to the end of the value the user input. For example: If the user typ
-
Re-scheduling reports when Report Server fails?
Is there a method to re-schedule previously cheduled reports in the scenario that for instance, the report server fails for whatever reason? My scenario is that I had a report server have a problem overnight and the reports that were scheduled did n