‎2007 Jun 19 7:09 AM
Hai friends,
How to display a field as left justified in ALV output. Urgent.
Rakesh.
‎2007 Jun 19 7:14 AM
Hi,
Whle Creating the FIELDCATALOG, you will find a Field JUST, you need to pass R (Right Justified) , L(Left Justified) for a Field ..
IF SY-SUBRC EQ 0.
WA_FCAT-REPTEXT_DDIC = 'X'.
WA_FCAT-SELTEXT_S = TEXT-025.
WA_FCAT-SELTEXT_M = TEXT-025.
WA_FCAT-SELTEXT_L = TEXT-025.
WA_FCAT-OUTPUTLEN = 10.
WA_FCAT-JUST = 'L'. ' Left Justified
WA_FCAT-DO_SUM = 'X'.
MODIFY I_FCAT FROM WA_FCAT INDEX SY-TABIX.
CLEAR WA_FCAT.
ENDIF.Regards
Sudheer
‎2007 Jun 19 7:14 AM
Hi,
Whle Creating the FIELDCATALOG, you will find a Field JUST, you need to pass R (Right Justified) , L(Left Justified) for a Field ..
IF SY-SUBRC EQ 0.
WA_FCAT-REPTEXT_DDIC = 'X'.
WA_FCAT-SELTEXT_S = TEXT-025.
WA_FCAT-SELTEXT_M = TEXT-025.
WA_FCAT-SELTEXT_L = TEXT-025.
WA_FCAT-OUTPUTLEN = 10.
WA_FCAT-JUST = 'L'. ' Left Justified
WA_FCAT-DO_SUM = 'X'.
MODIFY I_FCAT FROM WA_FCAT INDEX SY-TABIX.
CLEAR WA_FCAT.
ENDIF.Regards
Sudheer
‎2007 Jun 19 7:21 AM
Hi,
Add this attribute in the fieldcatalogue.
WA_FCAT-JUST = 'L'.
This will help you out.
Thanks,
Sapna.
‎2007 Jun 19 7:16 AM
Hi,
u have an attribute just(1) is the fieldcatalog
it has 3 values R,C,L implies right,center,left
so u can declare an itab for field catalog
ex
data : gt_fieldcat type slis_t_fieldcat_alv,
gs_fieldcat type slis_fieldcat_alv.
gs_fieldcat-just(1) = 'L'. " IMPLIES THE CONTENT TO DISPLAY TOWARDS LEFT.
‎2007 Jun 19 7:17 AM
Hi,
The field JUST is available in Field Catalog structure of function module REUSE_ALV_GRID_DISPLAY too.
You can set the value of JUST as 'L' .
Regards,
Padmam.
‎2007 Jun 19 7:27 AM
‎2007 Jun 19 7:30 AM
Hi,
*&
*&--------------------------------------------------------------------*
REPORT ZEXAMPALV2 NO STANDARD PAGE HEADING
MESSAGE-ID Z00.
*----------------------------------------------------------------------*
* Table Declarations. *
*----------------------------------------------------------------------*
TABLES: EKKO, "Purchasing Document Header
EKPO, "Purchasing Document Item
LFA1. "Vendor Master (General Section)
*-----------------------------------------------------------------------
* Types declaration
*-----------------------------------------------------------------------
TYPE-POOLS SLIS.
*----------------------------------------------------------------------*
* Internal Tables Declaration *
*----------------------------------------------------------------------*
*INTERNAL TABLE TO HOLD EKKO DETAILS
DATA: BEGIN OF I_HEAD OCCURS 0 ,
EBELN LIKE EKKO-EBELN, " purchasing document number
LIFNR LIKE EKKO-LIFNR, " vendors account no
WAERS LIKE EKKO-WAERS, " currency key
BUKRS LIKE EKKO-BUKRS, " company code
EKORG LIKE EKKO-EKORG, " purchase organisation
NAME1 LIKE LFA1-NAME1, " name1
END OF I_HEAD.
*INTERNAL TABLE TO HOLD EKPO DETAILS
DATA: BEGIN OF I_ITEM OCCURS 0,
EBELN LIKE EKKO-EBELN, " purchasing document number
EBELP LIKE EKPO-EBELP, " item no of purchasing document
MATNR LIKE EKPO-MATNR, " material number
NETWR LIKE EKPO-NETWR, " net order value in po currency
END OF I_ITEM.
*----------------------------------------------------------------------*
* DATA DECLARATIONS *
*----------------------------------------------------------------------*
DATA : I_ITEM_DISPLAY LIKE STANDARD TABLE OF I_ITEM WITH HEADER LINE.
DATA : I_FLDCAT_HEAD TYPE SLIS_T_FIELDCAT_ALV ,
WA_FLDCAT_HEAD LIKE LINE OF I_FLDCAT_HEAD.
DATA : I_FLDCAT_ITEM TYPE SLIS_T_FIELDCAT_ALV.
DATA : WA_FLDCAT_ITEM LIKE LINE OF I_FLDCAT_ITEM.
DATA : I_EVENTS TYPE SLIS_T_EVENT,
WA_EVENT LIKE LINE OF I_EVENTS.
DATA : WA_LAYOUT_HEAD TYPE SLIS_LAYOUT_ALV.
DATA : WA_LAYOUT_ITEM TYPE SLIS_LAYOUT_ALV.
DATA : ITAB_SORT TYPE SLIS_T_SORTINFO_ALV,
WA_SORT TYPE SLIS_SORTINFO_ALV.
DATA : ITAB_COMMENTS TYPE SLIS_T_LISTHEADER,
WA_COMMENTS TYPE SLIS_LISTHEADER.
DATA : WA_KEYINFO TYPE SLIS_KEYINFO_ALV.
DATA V_REPID LIKE SY-REPID.
DATA V_FLAG.
*----------------------------------------------------------------------*
* Selection Screen. *
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_BUKRS FOR EKPO-BUKRS,
S_EKORG FOR EKKO-EKORG.
SELECTION-SCREEN END OF BLOCK B1.
*----------------------------------------------------------------------*
* AT Selection Screen. *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN ON S_BUKRS.
PERFORM DOVALIDATE_BUKRS.
PERFORM DOVALIDATE_EKORG.
*----------------------------------------------------------------------*
* Event:Initialization *
*----------------------------------------------------------------------*
INITIALIZATION.
V_REPID = SY-REPID.
*----------------------------------------------------------------------*
* Event: Start-of-Selection *
*----------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM GET_DATA.
*----------------------------------------------------------------------*
* Event: End-of-Selection *
*----------------------------------------------------------------------*
END-OF-SELECTION.
PERFORM GET_FLDCAT.
PERFORM GET_EVENTS.
PERFORM GET_LAYOUT.
PERFORM WRITE_DATA.
*----------------------------------------------------------------------*
* Event: AT LINE SECTION *
*----------------------------------------------------------------------*
AT LINE-SELECTION.
*----------------------------------------------------------------------*
* Event: TOP OF PAGE *
*----------------------------------------------------------------------*
TOP-OF-PAGE.
*----------------------------------------------------------------------*
* Event: TOP OF PAGE DURING LINE SELECTION *
*----------------------------------------------------------------------*
TOP-OF-PAGE DURING LINE-SELECTION.
*----------------------------------------------------------------------*
* Event: END OF PAGE *
*----------------------------------------------------------------------*
END-OF-PAGE.
*//////////////////////////////////////////////////////////////////////*
*
* FORM DEFINITIONS *
*//////////////////////////////////////////////////////////////////////
*&---------------------------------------------------------------------*
*& Form DOVALIDATE_BUKRS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DOVALIDATE_BUKRS.
IF NOT S_BUKRS[] IS INITIAL.
SELECT BUKRS UP TO 1 ROWS
FROM EKPO INTO (EKPO-BUKRS).
ENDSELECT.
ENDIF.
IF SY-SUBRC <> 0.
MESSAGE E010 WITH TEXT-003 S_BUKRS-LOW 'TO'
S_BUKRS-HIGH.
ENDIF.
ENDFORM. " DOVALIDATE_BUKRS
*&---------------------------------------------------------------------*
*& Form DOVALIDATE_EKORG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DOVALIDATE_EKORG.
IF NOT S_EKORG[] IS INITIAL.
SELECT EKORG UP TO 1 ROWS
FROM EKKO INTO (EKKO-EKORG).
ENDSELECT.
ENDIF.
IF SY-SUBRC <> 0.
MESSAGE E010 WITH TEXT-004 S_EKORG-LOW 'TO'
S_EKORG-HIGH.
ENDIF.
ENDFORM. " DOVALIDATE_EKORG
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DATA.
SELECT A~EBELN
A~LIFNR
A~WAERS
A~BUKRS
A~EKORG
B~NAME1
INTO TABLE I_HEAD
FROM EKKO AS A
INNER JOIN LFA1 AS B
ON A~LIFNR EQ B~LIFNR
WHERE A~BUKRS IN S_BUKRS
AND A~EKORG IN S_EKORG
AND A~BSART EQ 'NB'
AND A~LOEKZ = SPACE
ORDER BY A~EBELN.
IF SY-SUBRC <> 0.
V_FLAG = SPACE.
ELSE.
SELECT EBELN
EBELP
MATNR
NETWR
FROM EKPO
INTO TABLE I_ITEM
FOR ALL ENTRIES IN I_HEAD
WHERE EBELN EQ I_HEAD-EBELN.
ENDIF.
ENDFORM. " GET_DATA
*&---------------------------------------------------------------------*
*& Form GET_FLDCAT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_FLDCAT.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = V_REPID
I_INTERNAL_TABNAME = 'I_HEAD'
* I_STRUCTURE_NAME =
* I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = V_REPID
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = I_FLDCAT_HEAD
* 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.
PERFORM SET_FLDCAT_I_HEAD.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = V_REPID
I_INTERNAL_TABNAME = 'I_ITEM'
* I_STRUCTURE_NAME =
* I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = V_REPID
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = I_FLDCAT_ITEM
* 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.
PERFORM SET_FLDCAT_I_ITEM.
ENDFORM. " GET_FLDCAT
*&---------------------------------------------------------------------*
*& 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 = I_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.
IF NOT I_EVENTS[] IS INITIAL.
READ TABLE I_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
WA_EVENT-FORM = 'GENERATE_USERCOMMAND'.
MODIFY I_EVENTS FROM WA_EVENT INDEX SY-TABIX.
ENDIF.
ENDFORM. " GET_EVENTS
*&---------------------------------------------------------------------*
*& Form GENERATE_USERCOMMAND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> P_UCOMM LIKE SY-UCOMM
* --> P_SELFIELD TYPE SLIS_SELFIELD
*----------------------------------------------------------------------*
FORM GENERATE_USERCOMMAND USING P_UCOMM LIKE SY-UCOMM
P_SELFIELD TYPE SLIS_SELFIELD.
CASE P_UCOMM.
WHEN '&IC1'. "DOUBLE CLICK
READ TABLE I_HEAD INDEX P_SELFIELD-TABINDEX.
REFRESH I_ITEM_DISPLAY.
LOOP AT I_ITEM WHERE EBELN = I_HEAD-EBELN.
MOVE-CORRESPONDING I_ITEM TO I_ITEM_DISPLAY.
APPEND I_ITEM_DISPLAY.
CLEAR I_ITEM_DISPLAY.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = V_REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_STRUCTURE_NAME =
* IS_LAYOUT = WA_LAYOUT_ITEM
IT_FIELDCAT = I_FLDCAT_ITEM
* 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
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = I_ITEM_DISPLAY
* 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.
ENDCASE.
ENDFORM. " GENERATE_USERCOMMAND
*&---------------------------------------------------------------------*
*& Form WRITE_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM WRITE_DATA.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = V_REPID
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_STRUCTURE_NAME =
IS_LAYOUT = WA_LAYOUT_HEAD
IT_FIELDCAT = I_FLDCAT_HEAD
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
IT_EVENTS = I_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
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = I_HEAD
* 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. " WRITE_DATA
*&---------------------------------------------------------------------*
*& Form SET_FLDCAT_I_HEAD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM SET_FLDCAT_I_HEAD.
LOOP AT I_FLDCAT_HEAD INTO WA_FLDCAT_HEAD.
CASE WA_FLDCAT_HEAD-FIELDNAME.
WHEN 'EBELN'.
WA_FLDCAT_HEAD-COL_POS = '1'.
WA_FLDCAT_HEAD-JUST = 'C'.
WA_FLDCAT_HEAD-OUTPUTLEN = '15'.
WA_FLDCAT_HEAD-SELTEXT_L = 'Purchase Doc'."long key word
WA_FLDCAT_HEAD-SELTEXT_M = 'Purch Doc'. "middle key word
WA_FLDCAT_HEAD-SELTEXT_S = 'Purch Doc '. "short text
WA_FLDCAT_HEAD-HOTSPOT = 'X'.
WA_FLDCAT-JUST = 'L'. ' Left Justified
WHEN 'LIFNR'.
WA_FLDCAT_HEAD-COL_POS = '2'.
WA_FLDCAT_HEAD-OUTPUTLEN = '10'.
WA_FLDCAT_HEAD-SELTEXT_L = 'Vendor No'.
WA_FLDCAT-JUST = 'L'. ' Left Justified
WHEN 'WAERS'.
WA_FLDCAT_HEAD-COL_POS = '3'.
WA_FLDCAT_HEAD-OUTPUTLEN = '15'.
WA_FLDCAT_HEAD-SELTEXT_L = 'Currency Key'.
WHEN 'BUKRS'.
WA_FLDCAT_HEAD-COL_POS = '4'.
WA_FLDCAT_HEAD-OUTPUTLEN = '15'.
WA_FLDCAT_HEAD-SELTEXT_L = 'Company Code'.
WHEN 'EKORG'.
WA_FLDCAT_HEAD-COL_POS = '5'.
WA_FLDCAT_HEAD-OUTPUTLEN = '15'.
WA_FLDCAT_HEAD-SELTEXT_L = 'Purch Org'.
WA_FLDCAT_HEAD-DO_SUM = 'X'.
WHEN 'NAME1'.
WA_FLDCAT_HEAD-COL_POS = '6'.
WA_FLDCAT_HEAD-OUTPUTLEN = '35'.
WA_FLDCAT_HEAD-SELTEXT_L = 'Cust Name'.
ENDCASE.
WA_KEYINFO-HEADER01 = 'EBELN'.
WA_KEYINFO-ITEM01 = 'EBELN'.
* WA_LAYOUT_HEAD-KEY_HOTSPOT = 'X'.
WA_LAYOUT_HEAD-ZEBRA = 'X'.
MODIFY I_FLDCAT_HEAD FROM WA_FLDCAT_HEAD INDEX SY-TABIX.
ENDLOOP.
ENDFORM. " SET_FLDCAT_I_HEAD
*&---------------------------------------------------------------------*
*& Form SET_FLDCAT_I_ITEM
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM SET_FLDCAT_I_ITEM.
LOOP AT I_FLDCAT_ITEM INTO WA_FLDCAT_ITEM.
CASE WA_FLDCAT_ITEM-FIELDNAME.
WHEN 'EBELN'.
WA_FLDCAT_HEAD-COL_POS = '1'.
WA_FLDCAT_HEAD-OUTPUTLEN = '15'.
WA_FLDCAT_HEAD-SELTEXT_L = 'Purchase Doc'."long key word
WA_FLDCAT_HEAD-SELTEXT_M = 'Purch Doc'. "middle key word
WA_FLDCAT_HEAD-SELTEXT_S = 'Purch Doc '. "short text
WA_FLDCAT_HEAD-HOTSPOT = 'X'.
WHEN 'EBELP'.
WA_FLDCAT_HEAD-COL_POS = '2'.
WA_FLDCAT_HEAD-OUTPUTLEN = '10'.
WA_FLDCAT_HEAD-SELTEXT_L = 'Item No'.
WHEN 'MATNR'.
WA_FLDCAT_HEAD-COL_POS = '3'.
WA_FLDCAT_HEAD-OUTPUTLEN = '15'.
WA_FLDCAT_HEAD-SELTEXT_L = 'Material No'.
WHEN 'NETWR'.
WA_FLDCAT_HEAD-COL_POS = '4'.
WA_FLDCAT_HEAD-OUTPUTLEN = '15'.
WA_FLDCAT_HEAD-SELTEXT_L = 'Net Order Value'.
WA_FLDCAT_HEAD-DO_SUM = 'X'.
ENDCASE.
MODIFY I_FLDCAT_ITEM FROM WA_FLDCAT_ITEM INDEX SY-TABIX.
ENDLOOP.
ENDFORM. " SET_FLDCAT_I_ITEM
*&---------------------------------------------------------------------*
*& Form GET_LAYOUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_LAYOUT.
WA_LAYOUT_ITEM-ZEBRA = 'X'.
WA_LAYOUT_ITEM-TOTALS_TEXT = 'GRAND TOTAL'.
ENDFORM. " GET_LAYOUTREGARDS,
Rajesh