‎2007 Mar 22 5:50 PM
Hi,
Below is the select that I have written ... but the problem is that internal table t_outtab is not getting populated. Can someone please correct me.
Types
TYPES: BEGIN OF X_OUTTAB,
SELECT TYPE XFELD,
ICON TYPE CHAR10.
INCLUDE STRUCTURE ZCO_GLPCT.
TYPES: GROUP TYPE XFELD,
LINECOLOR TYPE CHAR4, "Color for corresponding line
CELLCOLOR TYPE LVC_T_SCOL,
CELLSTYLES TYPE LVC_T_STYL,
TXT50 TYPE TXT50_SKAT.
TYPES: END OF X_OUTTAB.
Internal Tables
DATA: T_OUTTAB TYPE STANDARD TABLE OF X_OUTTAB,
W_OUTTAB LIKE LINE OF T_OUTTAB.
DATA : T_ZCOGLPCT TYPE STANDARD TABLE OF ZCO_GLPCT,
W_ZCOGLPCT LIKE LINE OF T_ZCOGLPCT.
SELECT * FROM ZCO_GLPCT
INTO CORRESPONDING FIELDS OF TABLE T_ZCOGLPCT
WHERE RLDNR EQ '8A'
AND ( RRCTY EQ '0' OR RRCTY EQ '2' )
AND RVERS EQ '000'
AND zoru EQ p_zoru
AND RYEAR EQ P_YEAR
AND RPERI EQ P_PERIOD
AND RBUKRS EQ P_BUKRS.
IF SY-SUBRC NE 0.
MESSAGE S003(Z01).
ELSE.
LOOP AT T_ZCOGLPCT INTO W_ZCOGLPCT.
l_tabix = sy-tabix.
MOVE-CORRESPONDING W_ZCOGLPCT TO W_OUTTAB.
MODIFY T_OUTTAB FROM W_OUTTAB index l_tabix.
ENDLOOP.
Thank You,
SB.
‎2007 Mar 22 5:57 PM
Hi SB,
Use APPEND statement to populate data into internal table.
SELECT * FROM ZCO_GLPCT
INTO CORRESPONDING FIELDS OF TABLE T_ZCOGLPCT
WHERE RLDNR EQ '8A'
AND ( RRCTY EQ '0' OR RRCTY EQ '2' )
AND RVERS EQ '000'
AND zoru EQ p_zoru
AND RYEAR EQ P_YEAR
AND RPERI EQ P_PERIOD
AND RBUKRS EQ P_BUKRS.
IF SY-SUBRC NE 0.
MESSAGE S003(Z01).
ELSE.
LOOP AT T_ZCOGLPCT INTO W_ZCOGLPCT.
l_tabix = sy-tabix.
MOVE-CORRESPONDING W_ZCOGLPCT TO W_OUTTAB.
<b>APPEND W_OUTTAB TO T_OUTTAB.</b>
<b>CLEAR W_OUTTAB.</b>
ENDLOOP.
Thanks,
Vinay
‎2007 Mar 22 5:57 PM
Hi SB,
Use APPEND statement to populate data into internal table.
SELECT * FROM ZCO_GLPCT
INTO CORRESPONDING FIELDS OF TABLE T_ZCOGLPCT
WHERE RLDNR EQ '8A'
AND ( RRCTY EQ '0' OR RRCTY EQ '2' )
AND RVERS EQ '000'
AND zoru EQ p_zoru
AND RYEAR EQ P_YEAR
AND RPERI EQ P_PERIOD
AND RBUKRS EQ P_BUKRS.
IF SY-SUBRC NE 0.
MESSAGE S003(Z01).
ELSE.
LOOP AT T_ZCOGLPCT INTO W_ZCOGLPCT.
l_tabix = sy-tabix.
MOVE-CORRESPONDING W_ZCOGLPCT TO W_OUTTAB.
<b>APPEND W_OUTTAB TO T_OUTTAB.</b>
<b>CLEAR W_OUTTAB.</b>
ENDLOOP.
Thanks,
Vinay
‎2007 Mar 22 6:07 PM
‎2007 Mar 22 5:58 PM
Your problem may be in here.
LOOP AT T_ZCOGLPCT INTO W_ZCOGLPCT.
l_tabix = sy-tabix.
MOVE-CORRESPONDING W_ZCOGLPCT TO W_OUTTAB.
read table t_outtab with key <specify_key_Here>
if sy-subrc = 0.
MODIFY T_OUTTAB FROM W_OUTTAB index sy-tabix.
else.
append w_outtab to t_outtab.
endif.
ENDLOOP.
You want to append a new record if not already there and modify existing records, right?
Regards,
Rich HEilman