Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV Grid using classes

Former Member
0 Likes
513

Hi gurus,

can anyone send me sample code to develop a repot using classes with all possibilities i.e, using events and interactive, pop-up.

Best answers wil be rewarded.

Regards,

alson

1 ACCEPTED SOLUTION
Read only

p291102
Active Contributor
0 Likes
473

HI,

KINDLY CHECK THE CODING FOR THE alv grid report with 2 list report.

REPORT YMS_INTERACTIVELIST NO STANDARD PAGE HEADING LINE-SIZE 650

MESSAGE-ID ZZ_9838 .

TYPE-POOLS: SLIS.

*type declaration for values from ekko

TYPES: BEGIN OF I_EKKO,

EBELN LIKE EKKO-EBELN,

AEDAT LIKE EKKO-AEDAT,

BUKRS LIKE EKKO-BUKRS,

BSART LIKE EKKO-BSART,

LIFNR LIKE EKKO-LIFNR,

END OF I_EKKO.

DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,

WA_EKKO TYPE I_EKKO.

*type declaration for values from ekpo

TYPES: BEGIN OF I_EKPO,

EBELN LIKE EKPO-EBELN,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

MEINS LIKE EKPO-MEINS,

NETPR LIKE EKPO-NETPR,

END OF I_EKPO.

DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,

WA_EKPO TYPE I_EKPO .

*variable for Report ID

DATA: V_REPID LIKE SY-REPID .

*declaration for fieldcatalog

DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.

  • declaration for events table where user comand or set PF status will

  • be defined

DATA: V_EVENTS TYPE SLIS_T_EVENT,

WA_EVENT TYPE SLIS_ALV_EVENT.

  • declartion for layout

DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.

  • declaration for variant(type of display we want)

DATA: I_VARIANT TYPE DISVARIANT,

I_VARIANT1 TYPE DISVARIANT,

I_SAVE(1) TYPE C.

*PARAMETERS : p_var TYPE disvariant-variant.

*Title displayed when the alv list is displayed

DATA: I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.

DATA: I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.

INITIALIZATION.

V_REPID = SY-REPID.

PERFORM BUILD_FIELDCATLOG.

PERFORM EVENT_CALL.

PERFORM POPULATE_EVENT.

START-OF-SELECTION.

PERFORM DATA_RETRIEVAL.

PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.

PERFORM DISPLAY_ALV_REPORT.

&----


*& Form BUILD_FIELDCATLOG

&----


  • Fieldcatalog has all the field details from ekko

----


FORM BUILD_FIELDCATLOG.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'EBELN'.

WA_FIELDCAT-SELTEXT_M = 'PO NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'AEDAT'.

WA_FIELDCAT-SELTEXT_M = 'DATE.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'BUKRS'.

WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'BUKRS'.

WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'LIFNR'.

WA_FIELDCAT-NO_OUT = 'X'.

WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. "BUILD_FIELDCATLOG

&----


*& Form EVENT_CALL

&----


  • we get all events - TOP OF PAGE or USER COMMAND in table v_events

----


FORM EVENT_CALL.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = V_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.

ENDFORM. "EVENT_CALL

&----


*& Form POPULATE_EVENT

&----


  • Events populated for TOP OF PAGE & USER COMAND

----


FORM POPULATE_EVENT.

READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'TOP_OF_PAGE'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-FORM.

ENDIF.

READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'USER_COMMAND'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-NAME.

ENDIF.

ENDFORM. "POPULATE_EVENT

&----


*& Form data_retrieval

&----


  • retreiving values from the database table ekko

----


FORM DATA_RETRIEVAL.

SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.

ENDFORM. "data_retrieval

&----


*& Form bUild_listheader

&----


  • text

----


  • -->I_LISTHEADEtext

----


FORM BUILD_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.

DATA HLINE TYPE SLIS_LISTHEADER.

HLINE-INFO = 'this is my first alv pgm'.

HLINE-TYP = 'H'.

ENDFORM. "build_listheader

&----


*& Form display_alv_report

&----


  • text

----


FORM DISPLAY_ALV_REPORT.

V_REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'

I_GRID_TITLE = I_TITLE_EKKO

  • I_GRID_SETTINGS =

  • IS_LAYOUT = ALV_LAYOUT

IT_FIELDCAT = I_FIELDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • i_default = 'ZLAY1'

I_SAVE = 'A'

  • is_variant = i_variant

IT_EVENTS = V_EVENTS

TABLES

T_OUTTAB = IT_EKKO

  • 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. "display_alv_report

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IT_LISTHEADER

  • i_logo =

  • I_END_OF_LIST_GRID =

.

ENDFORM. "TOP_OF_PAGE

&----


*& Form USER_COMMAND

&----


  • text

----


  • -->R_UCOMM text

  • -->, text

  • -->RS_SLEFIELDtext

----


FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN '&IC1'.

READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.

PERFORM BUILD_FIELDCATLOG_EKPO.

PERFORM EVENT_CALL_EKPO.

PERFORM POPULATE_EVENT_EKPO.

PERFORM DATA_RETRIEVAL_EKPO.

PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.

PERFORM DISPLAY_ALV_EKPO.

ENDCASE.

ENDFORM. "user_command

&----


*& Form BUILD_FIELDCATLOG_EKPO

&----


  • text

----


FORM BUILD_FIELDCATLOG_EKPO.

WA_FIELDCAT-TABNAME = 'IT_EKPO'.

WA_FIELDCAT-FIELDNAME = 'EBELN'.

WA_FIELDCAT-SELTEXT_M = 'PO NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKPO'.

WA_FIELDCAT-FIELDNAME = 'EBELP'.

WA_FIELDCAT-SELTEXT_M = 'LINE NO'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MATNR'.

WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MENGE'.

WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MEINS'.

WA_FIELDCAT-SELTEXT_M = 'UOM'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'NETPR'.

WA_FIELDCAT-SELTEXT_M = 'PRICE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. "BUILD_FIELDCATLOG_EKPO

&----


*& Form event_call_ekpo

&----


  • we get all events - TOP OF PAGE or USER COMMAND in table v_events

----


FORM EVENT_CALL_EKPO.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = V_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.

ENDFORM. "event_call_ekpo

&----


*& Form POPULATE_EVENT

&----


  • Events populated for TOP OF PAGE & USER COMAND

----


FORM POPULATE_EVENT_EKPO.

READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'TOP_OF_PAGE'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-FORM.

ENDIF.

ENDFORM. "POPULATE_EVENT

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM F_TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IT_LISTHEADER

  • i_logo =

  • I_END_OF_LIST_GRID =

.

ENDFORM. "TOP_OF_PAGE

&----


*& Form USER_COMMAND

&----


  • text

----


  • -->R_UCOMM text

  • -->, text

  • -->RS_SLEFIELDtext

----


*retreiving values from the database table ekko

FORM DATA_RETRIEVAL_EKPO.

SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.

ENDFORM.

FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.

DATA: HLINE1 TYPE SLIS_LISTHEADER.

HLINE1-TYP = 'H'.

HLINE1-INFO = 'CHECKING PGM'.

ENDFORM.

FORM DISPLAY_ALV_EKPO.

CALL FUNCTION 'REUSE_ALV_GRID_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 = 'F_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 = I_TITLE_EKPO

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = I_FIELDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT =

I_SAVE = 'A'

  • IS_VARIANT =

IT_EVENTS = V_EVENTS

TABLES

T_OUTTAB = IT_EKPO

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.

Thanks,

Shankar

3 REPLIES 3
Read only

Former Member
0 Likes
473

check this

<a href="http://www.erpgenie.com/abap/controls/alvgrid.htm">http://www.erpgenie.com/abap/controls/alvgrid.htm</a>

regards

shiba dutta

Read only

p291102
Active Contributor
0 Likes
474

HI,

KINDLY CHECK THE CODING FOR THE alv grid report with 2 list report.

REPORT YMS_INTERACTIVELIST NO STANDARD PAGE HEADING LINE-SIZE 650

MESSAGE-ID ZZ_9838 .

TYPE-POOLS: SLIS.

*type declaration for values from ekko

TYPES: BEGIN OF I_EKKO,

EBELN LIKE EKKO-EBELN,

AEDAT LIKE EKKO-AEDAT,

BUKRS LIKE EKKO-BUKRS,

BSART LIKE EKKO-BSART,

LIFNR LIKE EKKO-LIFNR,

END OF I_EKKO.

DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,

WA_EKKO TYPE I_EKKO.

*type declaration for values from ekpo

TYPES: BEGIN OF I_EKPO,

EBELN LIKE EKPO-EBELN,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

MEINS LIKE EKPO-MEINS,

NETPR LIKE EKPO-NETPR,

END OF I_EKPO.

DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,

WA_EKPO TYPE I_EKPO .

*variable for Report ID

DATA: V_REPID LIKE SY-REPID .

*declaration for fieldcatalog

DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.

  • declaration for events table where user comand or set PF status will

  • be defined

DATA: V_EVENTS TYPE SLIS_T_EVENT,

WA_EVENT TYPE SLIS_ALV_EVENT.

  • declartion for layout

DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.

  • declaration for variant(type of display we want)

DATA: I_VARIANT TYPE DISVARIANT,

I_VARIANT1 TYPE DISVARIANT,

I_SAVE(1) TYPE C.

*PARAMETERS : p_var TYPE disvariant-variant.

*Title displayed when the alv list is displayed

DATA: I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.

DATA: I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.

INITIALIZATION.

V_REPID = SY-REPID.

PERFORM BUILD_FIELDCATLOG.

PERFORM EVENT_CALL.

PERFORM POPULATE_EVENT.

START-OF-SELECTION.

PERFORM DATA_RETRIEVAL.

PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.

PERFORM DISPLAY_ALV_REPORT.

&----


*& Form BUILD_FIELDCATLOG

&----


  • Fieldcatalog has all the field details from ekko

----


FORM BUILD_FIELDCATLOG.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'EBELN'.

WA_FIELDCAT-SELTEXT_M = 'PO NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'AEDAT'.

WA_FIELDCAT-SELTEXT_M = 'DATE.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'BUKRS'.

WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'BUKRS'.

WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKKO'.

WA_FIELDCAT-FIELDNAME = 'LIFNR'.

WA_FIELDCAT-NO_OUT = 'X'.

WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. "BUILD_FIELDCATLOG

&----


*& Form EVENT_CALL

&----


  • we get all events - TOP OF PAGE or USER COMMAND in table v_events

----


FORM EVENT_CALL.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = V_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.

ENDFORM. "EVENT_CALL

&----


*& Form POPULATE_EVENT

&----


  • Events populated for TOP OF PAGE & USER COMAND

----


FORM POPULATE_EVENT.

READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'TOP_OF_PAGE'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-FORM.

ENDIF.

READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'USER_COMMAND'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-NAME.

ENDIF.

ENDFORM. "POPULATE_EVENT

&----


*& Form data_retrieval

&----


  • retreiving values from the database table ekko

----


FORM DATA_RETRIEVAL.

SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.

ENDFORM. "data_retrieval

&----


*& Form bUild_listheader

&----


  • text

----


  • -->I_LISTHEADEtext

----


FORM BUILD_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.

DATA HLINE TYPE SLIS_LISTHEADER.

HLINE-INFO = 'this is my first alv pgm'.

HLINE-TYP = 'H'.

ENDFORM. "build_listheader

&----


*& Form display_alv_report

&----


  • text

----


FORM DISPLAY_ALV_REPORT.

V_REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = V_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'

I_GRID_TITLE = I_TITLE_EKKO

  • I_GRID_SETTINGS =

  • IS_LAYOUT = ALV_LAYOUT

IT_FIELDCAT = I_FIELDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • i_default = 'ZLAY1'

I_SAVE = 'A'

  • is_variant = i_variant

IT_EVENTS = V_EVENTS

TABLES

T_OUTTAB = IT_EKKO

  • 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. "display_alv_report

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IT_LISTHEADER

  • i_logo =

  • I_END_OF_LIST_GRID =

.

ENDFORM. "TOP_OF_PAGE

&----


*& Form USER_COMMAND

&----


  • text

----


  • -->R_UCOMM text

  • -->, text

  • -->RS_SLEFIELDtext

----


FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN '&IC1'.

READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.

PERFORM BUILD_FIELDCATLOG_EKPO.

PERFORM EVENT_CALL_EKPO.

PERFORM POPULATE_EVENT_EKPO.

PERFORM DATA_RETRIEVAL_EKPO.

PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.

PERFORM DISPLAY_ALV_EKPO.

ENDCASE.

ENDFORM. "user_command

&----


*& Form BUILD_FIELDCATLOG_EKPO

&----


  • text

----


FORM BUILD_FIELDCATLOG_EKPO.

WA_FIELDCAT-TABNAME = 'IT_EKPO'.

WA_FIELDCAT-FIELDNAME = 'EBELN'.

WA_FIELDCAT-SELTEXT_M = 'PO NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EKPO'.

WA_FIELDCAT-FIELDNAME = 'EBELP'.

WA_FIELDCAT-SELTEXT_M = 'LINE NO'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MATNR'.

WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MENGE'.

WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'MEINS'.

WA_FIELDCAT-SELTEXT_M = 'UOM'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'I_EKPO'.

WA_FIELDCAT-FIELDNAME = 'NETPR'.

WA_FIELDCAT-SELTEXT_M = 'PRICE'.

APPEND WA_FIELDCAT TO I_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. "BUILD_FIELDCATLOG_EKPO

&----


*& Form event_call_ekpo

&----


  • we get all events - TOP OF PAGE or USER COMMAND in table v_events

----


FORM EVENT_CALL_EKPO.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = V_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.

ENDFORM. "event_call_ekpo

&----


*& Form POPULATE_EVENT

&----


  • Events populated for TOP OF PAGE & USER COMAND

----


FORM POPULATE_EVENT_EKPO.

READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.

IF SY-SUBRC EQ 0.

WA_EVENT-FORM = 'TOP_OF_PAGE'.

MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =

WA_EVENT-FORM.

ENDIF.

ENDFORM. "POPULATE_EVENT

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM F_TOP_OF_PAGE.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IT_LISTHEADER

  • i_logo =

  • I_END_OF_LIST_GRID =

.

ENDFORM. "TOP_OF_PAGE

&----


*& Form USER_COMMAND

&----


  • text

----


  • -->R_UCOMM text

  • -->, text

  • -->RS_SLEFIELDtext

----


*retreiving values from the database table ekko

FORM DATA_RETRIEVAL_EKPO.

SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.

ENDFORM.

FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.

DATA: HLINE1 TYPE SLIS_LISTHEADER.

HLINE1-TYP = 'H'.

HLINE1-INFO = 'CHECKING PGM'.

ENDFORM.

FORM DISPLAY_ALV_EKPO.

CALL FUNCTION 'REUSE_ALV_GRID_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 = 'F_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 = I_TITLE_EKPO

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = I_FIELDCAT[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT =

I_SAVE = 'A'

  • IS_VARIANT =

IT_EVENTS = V_EVENTS

TABLES

T_OUTTAB = IT_EKPO

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.

Thanks,

Shankar

Read only

Former Member
0 Likes
473

REPORT zex35 MESSAGE-ID zsmg NO STANDARD PAGE HEADING.

INCLUDE <icon>.

CLASS myclass DEFINITION DEFERRED.

TABLES: vbak,kna1.

TYPE-POOLS: slis,sdydo.

DATA: BEGIN OF jtab OCCURS 0,

ch(1),

vbeln LIKE vbak-vbeln,

erdat LIKE vbak-erdat,

kunnr LIKE vbak-kunnr,

ernam LIKE vbak-ernam,

netwr LIKE vbak-netwr,

knumv LIKE vbak-knumv,

bstnk LIKE vbak-bstnk,

ktext LIKE vbak-ktext,

styletable TYPE lvc_t_styl,

rowcolor(4),

cellcolor TYPE lvc_t_scol,

ptype_dd_hndl TYPE int4 ,

END OF jtab.

DATA : ejtab LIKE jtab OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF vjtab OCCURS 0,

vbeln LIKE vbak-vbeln,

erdat LIKE vbak-erdat,

kunnr LIKE vbak-kunnr,

ernam LIKE vbak-ernam,

netwr LIKE vbak-netwr,

knumv LIKE vbak-knumv,

bstnk LIKE vbak-bstnk,

ktext LIKE vbak-ktext,

END OF vjtab.

DATA: alv TYPE scrfname VALUE 'ALV',

obj_c_container_alv TYPE REF TO cl_gui_custom_container,

obj_grid TYPE REF TO cl_gui_alv_grid,

obj_myclass TYPE REF TO myclass,

i_fieldcat TYPE lvc_t_fcat,

wa_fieldcat LIKE LINE OF i_fieldcat,

ei_fieldcat TYPE lvc_t_fcat,

ewa_fieldcat LIKE LINE OF i_fieldcat,

gs_layout TYPE lvc_s_layo.

DATA: l_rows TYPE lvc_t_row.

DATA : modi TYPE lvc_s_modi ,

rowid TYPE i,

ind TYPE i,

wjtab LIKE jtab,

it_exclude TYPE ui_functions,

it_sort TYPE lvc_t_sort,

it_filt TYPE lvc_t_filt,

gi_index_rows TYPE lvc_t_row,

g_selected_row LIKE lvc_s_row.

DATA: ls_edit TYPE lvc_s_styl,

lt_edit TYPE lvc_t_styl.

DATA: ls_outtab LIKE LINE OF jtab.

CALL SCREEN 100.

----


  • CLASS MYCLASS DEFINITION

----


CLASS myclass DEFINITION.

PUBLIC SECTION.

METHODS:

toolbar FOR EVENT toolbar OF cl_gui_alv_grid IMPORTING e_object

e_interactive,

user_command FOR EVENT user_command OF cl_gui_alv_grid IMPORTING

e_ucomm.

  • after_user_command FOR EVENT BEFORE_user_command OF cl_gui_alv_grid

  • IMPORTING

  • e_ucomm,

  • handle_change_click

  • FOR EVENT data_changed OF cl_gui_alv_grid IMPORTING

  • er_data_changed.

  • handle_change_click

  • FOR EVENT data_changed OF cl_gui_alv_grid IMPORTING

  • er_data_changed.

ENDCLASS.

----


  • CLASS MYCLASS IMPLEMENTATION

----


CLASS myclass IMPLEMENTATION.

METHOD toolbar.

DATA: ls_toolbar TYPE stb_button.

CLEAR ls_toolbar.

MOVE 3 TO ls_toolbar-butn_type.

APPEND ls_toolbar TO e_object->mt_toolbar.

CLEAR ls_toolbar.

MOVE 'BACK' TO ls_toolbar-function.

  • MOVE icon_previous_object TO ls_toolbar-icon.

MOVE 'BACK' TO ls_toolbar-text.

MOVE ' ' TO ls_toolbar-disabled.

APPEND ls_toolbar TO e_object->mt_toolbar.

CLEAR ls_toolbar.

MOVE 'CLEA' TO ls_toolbar-function.

  • MOVE icon_refresh TO ls_toolbar-icon.

MOVE 'CLEAR' TO ls_toolbar-text.

MOVE ' ' TO ls_toolbar-disabled.

APPEND ls_toolbar TO e_object->mt_toolbar.

CLEAR ls_toolbar.

MOVE 'TEXT' TO ls_toolbar-function.

  • MOVE icon_display TO ls_toolbar-icon.

MOVE 'READ' TO ls_toolbar-text.

MOVE ' ' TO ls_toolbar-disabled.

APPEND ls_toolbar TO e_object->mt_toolbar.

CLEAR ls_toolbar.

MOVE 'INSERT' TO ls_toolbar-function.

  • MOVE icon_display TO ls_toolbar-icon.

MOVE 'INSERT' TO ls_toolbar-text.

MOVE ' ' TO ls_toolbar-disabled.

APPEND ls_toolbar TO e_object->mt_toolbar.

CLEAR ls_toolbar.

MOVE 'FCAT' TO ls_toolbar-function.

  • MOVE icon_display TO ls_toolbar-icon.

MOVE 'FCAT' TO ls_toolbar-text.

MOVE ' ' TO ls_toolbar-disabled.

APPEND ls_toolbar TO e_object->mt_toolbar.

ENDMETHOD.

  • METHOD after_user_command.

  • CASE e_ucomm.

  • WHEN '&LOCAL&INSERT_ROW'.

  • PERFORM insert_data.

*

  • ENDCASE.

*

  • ENDMETHOD.

METHOD user_command.

CASE e_ucomm.

WHEN 'BACK'.

LEAVE PROGRAM.

WHEN 'INSERT'.

PERFORM insert_data.

WHEN 'FCAT'.

PERFORM fcat_change.

ENDCASE.

ENDMETHOD.

  • METHOD handle_change_click.

*

  • LOOP AT er_data_changed->mt_mod_cells INTO modi.

  • rowid = modi-row_id.

  • READ TABLE jtab INTO wjtab INDEX rowid.

    • WJTAB-VBELN = MODI-VALUE.

  • MODIFY jtab FROM wjtab INDEX rowid.

  • ENDLOOP.

*

  • ENDMETHOD.

ENDCLASS.

*&----


*

*& Module STATUS_0100 OUTPUT

*&----


MODULE status_0100 OUTPUT.

CASE sy-ucomm.

WHEN 'EXIT'.

LEAVE PROGRAM.

WHEN 'DISPLAY'.

SELECT vbeln erdat kunnr ernam netwr knumv bstnk ktext

FROM vbak INTO CORRESPONDING FIELDS OF TABLE vjtab

WHERE vbeln LT '0000000500'.

PERFORM display1.

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE. " STATUS_0100 OUTPUT

*&----


*

*& Form display1

*&----


FORM display1.

CREATE OBJECT obj_c_container_alv

EXPORTING

container_name = alv.

IF obj_grid IS INITIAL.

CREATE OBJECT obj_grid

EXPORTING

i_parent = obj_c_container_alv.

CREATE OBJECT obj_myclass.

SET HANDLER obj_myclass->toolbar FOR obj_grid.

SET HANDLER obj_myclass->user_command FOR obj_grid.

  • SET HANDLER obj_myclass->handle_change_click FOR obj_grid.

  • gs_layout-sel_mode = 'C'.

  • gs_layout-cwidth_opt = 'X'.

  • gs_layout-smalltitle = 'X'.

gs_layout-grid_title = 'ALV TITLE'.

  • gs_layout-no_headers = 'X'.

gs_layout-stylefname = 'STYLETABLE'.

  • gs_layout-no_hgridln = 'X'.

  • gs_layout-no_vgridln = 'X'.

  • gs_layout-NO_ROWMARK = 'X'.

  • gs_layout-no_toolbar = 'X'.

gs_layout-info_fname = 'ROWCOLOR'.

gs_layout-ctab_fname = 'CELLCOLOR'.

LOOP AT vjtab.

jtab-vbeln = vjtab-vbeln.

jtab-erdat = vjtab-erdat.

jtab-kunnr = vjtab-kunnr.

jtab-ernam = vjtab-ernam.

jtab-netwr = vjtab-netwr.

jtab-knumv = vjtab-knumv.

jtab-bstnk = vjtab-bstnk.

jtab-ktext = vjtab-ktext.

APPEND jtab.

CLEAR jtab.

ENDLOOP.

PERFORM build_fieldcat.

PERFORM exclude_toolbaricons CHANGING it_exclude.

PERFORM sort_table CHANGING it_sort.

PERFORM filter_table CHANGING it_filt.

PERFORM rowcolor.

PERFORM colcolor.

PERFORM drilldown_values.

CALL METHOD obj_grid->set_table_for_first_display

EXPORTING

i_structure_name = 'JTAB'

is_layout = gs_layout

it_toolbar_excluding = it_exclude

CHANGING

it_outtab = jtab[]

  • it_sort = it_sort

it_filter = it_filt

it_fieldcatalog = i_fieldcat.

ELSE .

CALL METHOD obj_grid->refresh_table_display.

ENDIF.

ENDFORM. " display1

&----


*& Form SAVE_DATA

&----


FORM save_data.

ENDFORM. " SAVE_DATA

&----


*& Form INSERT_DATA

&----


FORM insert_data.

DATA:l_lines TYPE i.

REFRESH gi_index_rows.

CLEAR g_selected_row.

DATA ls_listrow LIKE LINE OF jtab .

CALL METHOD obj_grid->get_selected_rows

IMPORTING

et_index_rows = gi_index_rows.

READ TABLE gi_index_rows INTO g_selected_row INDEX 1.

ind = g_selected_row-index + 1.

INSERT INITIAL LINE INTO jtab INDEX ind.

READ TABLE jtab INDEX ind.

CLEAR ls_edit.

ls_edit-fieldname = 'VBELN'.

ls_edit-style = cl_gui_alv_grid=>mc_style_disabled.

INSERT ls_edit INTO TABLE lt_edit.

  • CLEAR ls_edit.

  • ls_edit-fieldname = 'ERDAT'.

  • ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.

  • INSERT ls_edit INTO TABLE lt_edit.

CLEAR ls_edit.

ls_edit-fieldname = 'KUNNR'.

ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.

INSERT ls_edit INTO TABLE lt_edit.

CLEAR ls_edit.

ls_edit-fieldname = 'ERNAM'.

ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.

INSERT ls_edit INTO TABLE lt_edit.

  • CLEAR ls_edit.

  • ls_edit-fieldname = 'NETWR'.

  • ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.

  • INSERT ls_edit INTO TABLE lt_edit.

CLEAR ls_edit.

ls_edit-fieldname = 'KNUMV'.

ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.

INSERT ls_edit INTO TABLE lt_edit.

CLEAR ls_edit.

ls_edit-fieldname = 'BSTNK'.

ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.

INSERT ls_edit INTO TABLE lt_edit.

  • CLEAR ls_edit.

  • ls_edit-fieldname = 'KTEXT'.

  • ls_edit-style = cl_gui_alv_grid=>mc_style_enabled.

  • INSERT ls_edit INTO TABLE lt_edit.

CLEAR : ls_outtab.

INSERT LINES OF lt_edit INTO TABLE ls_outtab-styletable.

MODIFY jtab INDEX ind FROM ls_outtab TRANSPORTING

styletable .

CALL METHOD obj_grid->refresh_table_display.

  • GS_LAYOUT-STYLEFNAME = 'STYLETABLE'.

REFRESH : lt_edit.

ENDFORM. " INSERT_DATA

&----


*& Form FCAT_CHANGE

&----


FORM fcat_change.

  • DATA ls_fcat TYPE lvc_s_fcat .

  • DATA lt_fcat TYPE lvc_t_fcat .

  • DATA ls_layout TYPE lvc_s_layo .

  • CALL METHOD obj_grid->get_frontend_fieldcatalog

  • IMPORTING

  • et_fieldcatalog = lt_fcat[] .

*

  • LOOP AT lt_fcat INTO ls_fcat .

  • IF ls_fcat-fieldname = 'ERNAM' .

  • ls_fcat-coltext = 'MYNAME'.

  • ls_fcat-no_out = 'X'.

  • MODIFY lt_fcat FROM ls_fcat .

  • ENDIF .

  • ENDLOOP .

*

  • CALL METHOD obj_grid->set_frontend_fieldcatalog

  • EXPORTING

  • it_fieldcatalog = lt_fcat[] .

*

  • CALL METHOD obj_grid->get_frontend_layout

  • IMPORTING

  • es_layout = ls_layout .

  • ls_layout-grid_title = 'Changed ALV Grid Title' .

    • ls_layout-zebra = 'X' .

*

  • CALL METHOD obj_grid->set_frontend_layout

  • EXPORTING

  • is_layout = ls_layout .

  • LOOP AT jtab.

*

  • IF jtab-netwr > '400.00'.

  • CLEAR ls_edit.

  • ls_edit-fieldname = 'ERDAT'.

  • ls_edit-style = cl_gui_alv_grid=>mc_style_disabled.

  • INSERT ls_edit INTO TABLE lt_edit.

*

  • CLEAR : ls_outtab.

  • INSERT LINES OF lt_edit INTO TABLE ls_outtab-styletable.

  • MODIFY jtab INDEX sy-tabix FROM ls_outtab TRANSPORTING

  • styletable .

  • ENDIF.

*

  • ENDLOOP.

LOOP AT jtab.

IF jtab-netwr LE '400.00'.

ejtab-vbeln = jtab-vbeln.

ejtab-erdat = jtab-erdat.

ejtab-kunnr = jtab-kunnr.

ejtab-ernam = jtab-ernam.

ejtab-netwr = jtab-netwr.

ejtab-knumv = jtab-knumv.

ejtab-bstnk = jtab-bstnk.

ejtab-ktext = jtab-ktext.

APPEND ejtab.

CLEAR ejtab.

ENDIF.

ENDLOOP.

PERFORM ebuild_fieldcat.

CALL METHOD obj_grid->set_table_for_first_display

EXPORTING

i_structure_name = 'EJTAB'

is_layout = gs_layout

it_toolbar_excluding = it_exclude

CHANGING

it_outtab = ejtab[]

  • it_sort = it_sort

it_filter = it_filt

it_fieldcatalog = ei_fieldcat.

ENDFORM. " FCAT_CHANGE

&----


*& Form exclude_toolbaricons

&----


FORM exclude_toolbaricons CHANGING pt_exclude TYPE ui_functions.

DATA ls_exclude TYPE ui_func.

ls_exclude = cl_gui_alv_grid=>mc_fc_maximum .

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_minimum .

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_subtot .

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_find .

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_sum .

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_average .

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_mb_sum .

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_mb_subtot.

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row .

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row .

APPEND ls_exclude TO pt_exclude.

ls_exclude = cl_gui_alv_grid=>mc_fc_loc_move_row .

APPEND ls_exclude TO pt_exclude.

ENDFORM. " exclude_toolbaricons

&----


*& Form sort_table

&----


FORM sort_table CHANGING pt_sort TYPE lvc_t_sort.

DATA ls_sort TYPE lvc_s_sort .

ls_sort-spos = '1' .

ls_sort-fieldname = 'VBELN' .

ls_sort-up = 'X' .

ls_sort-down = space .

APPEND ls_sort TO pt_sort .

ls_sort-spos = '2' .

ls_sort-fieldname = 'KUNNR' .

ls_sort-up = space .

ls_sort-down = 'X' .

APPEND ls_sort TO pt_sort .

ENDFORM. " sort_table

&----


*& Form filter_table

&----


FORM filter_table CHANGING pt_filt TYPE lvc_t_filt.

DATA ls_filt TYPE lvc_s_filt .

ls_filt-fieldname = 'VBELN' .

ls_filt-sign = 'E' .

ls_filt-option = 'BT' .

ls_filt-low = '0000000010' .

ls_filt-high = '0000000100' .

APPEND ls_filt TO pt_filt .

ENDFORM. " filter_table

&----


*& Form ROWCOLOR

&----


FORM rowcolor.

CLEAR wjtab.

LOOP AT jtab INTO wjtab.

IF wjtab-netwr LE '400.00'.

wjtab-rowcolor = 'C611'.

ENDIF.

MODIFY jtab FROM wjtab.

ENDLOOP.

ENDFORM. " ROWCOLOR

&----


*& Form colcolor

&----


FORM colcolor.

DATA ls_cellcolor TYPE lvc_s_scol .

CLEAR ls_cellcolor.

READ TABLE jtab INDEX 8 .

ls_cellcolor-fname = 'KUNNR' .

ls_cellcolor-color-col = '0' .

ls_cellcolor-color-int = '0' .

APPEND ls_cellcolor TO jtab-cellcolor .

MODIFY jtab INDEX 8 .

CLEAR ls_cellcolor.

READ TABLE jtab INDEX 13 .

ls_cellcolor-fname = 'NETWR' .

ls_cellcolor-color-col = '5' .

ls_cellcolor-color-int = '1' .

APPEND ls_cellcolor TO jtab-cellcolor .

MODIFY jtab INDEX 13 .

ENDFORM. " colcolor

&----


*& Form DRILLDOWN_VALUES

&----


FORM drilldown_values.

DATA lt_ddval TYPE lvc_t_drop .

DATA ls_ddval TYPE lvc_s_drop .

ls_ddval-handle = '1' .

ls_ddval-value = 'JFK-12' .

APPEND ls_ddval TO lt_ddval .

ls_ddval-handle = '1' .

ls_ddval-value = 'JSF-44' .

APPEND ls_ddval TO lt_ddval .

ls_ddval-handle = '1' .

ls_ddval-value = 'KMDA-53' .

APPEND ls_ddval TO lt_ddval .

ls_ddval-handle = '1' .

ls_ddval-value = 'SS3O/N' .

APPEND ls_ddval TO lt_ddval .

CALL METHOD obj_grid->set_drop_down_table

EXPORTING

it_drop_down = lt_ddval .

ENDFORM. " DRILLDOWN_VALUES

&----


*& Form BUILD_FIELDCAT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM build_fieldcat.

CLEAR i_fieldcat[].

*CLEAR wa_fieldcat.

*wa_fieldcat-col_pos = 1.

*wa_fieldcat-fieldname = 'CH'.

**wa_fieldcat-tabname = 'JTAB'.

*wa_fieldcat-outputlen = '2'.

**wa_fieldcat-coltext = 'CHECKBOX'.

*wa_fieldcat-checkbox = 'X'.

*wa_fieldcat-edit = 'X'.

*APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 2.

wa_fieldcat-fieldname = 'VBELN'.

wa_fieldcat-tabname = 'JTAB'.

*wa_fieldcat-outputlen = '10'.

wa_fieldcat-coltext = 'SALES ORDER'.

*wa_fieldcat-CHECKBOX = 'X'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 4.

wa_fieldcat-fieldname = 'KUNNR'.

wa_fieldcat-tabname = 'JTAB'.

wa_fieldcat-outputlen = '20'.

wa_fieldcat-coltext = 'CUSTOMER NO'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 3.

wa_fieldcat-fieldname = 'ERDAT'.

wa_fieldcat-tabname = 'JTAB'.

*wa_fieldcat-outputlen = '8'.

wa_fieldcat-coltext = 'DATE'.

wa_fieldcat-edit = 'X'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 5.

wa_fieldcat-fieldname = 'ERNAM'.

wa_fieldcat-tabname = 'JTAB'.

*wa_fieldcat-outputlen = '12'.

wa_fieldcat-coltext = 'NAME'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 6.

wa_fieldcat-fieldname = 'NETWR'.

wa_fieldcat-tabname = 'JTAB'.

*wa_fieldcat-outputlen = '15'.

wa_fieldcat-coltext = 'NET WEIGHT'.

wa_fieldcat-edit = 'X'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 7.

wa_fieldcat-fieldname = 'KNUMV'.

wa_fieldcat-tabname = 'JTAB'.

*wa_fieldcat-outputlen = '10'.

wa_fieldcat-coltext = 'DOC COND'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 8.

wa_fieldcat-fieldname = 'BSTNK'.

wa_fieldcat-tabname = 'JTAB'.

*wa_fieldcat-outputlen = '20'.

wa_fieldcat-coltext = 'CUST PO'.

APPEND wa_fieldcat TO i_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = 9.

wa_fieldcat-fieldname = 'KTEXT'.

wa_fieldcat-tabname = 'JTAB'.

*wa_fieldcat-outputlen = '40'.

wa_fieldcat-coltext = 'SEARCH TERM FOR PRODUCT PROPOSAL'.

wa_fieldcat-edit = 'X'.

wa_fieldcat-drdn_field = 'PTYP_DD_HNDL'.

APPEND wa_fieldcat TO i_fieldcat.

ENDFORM. " BUILD_FIELDCAT

&----


*& Form ebuild_fieldcat

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM ebuild_fieldcat.

CLEAR ei_fieldcat[].

CLEAR ewa_fieldcat.

ewa_fieldcat-col_pos = 1.

ewa_fieldcat-fieldname = 'CH'.

*ewa_fieldcat-tabname = 'JTAB'.

ewa_fieldcat-outputlen = '2'.

*ewa_fieldcat-coltext = 'CHECKBOX'.

ewa_fieldcat-checkbox = 'X'.

ewa_fieldcat-edit = 'X'.

APPEND ewa_fieldcat TO ei_fieldcat.

CLEAR ewa_fieldcat.

ewa_fieldcat-col_pos = 2.

ewa_fieldcat-fieldname = 'VBELN'.

ewa_fieldcat-tabname = 'JTAB'.

*ewa_fieldcat-outputlen = '10'.

ewa_fieldcat-coltext = 'SALES ORDER'.

*ewa_fieldcat-CHECKBOX = 'X'.

APPEND ewa_fieldcat TO ei_fieldcat.

CLEAR ewa_fieldcat.

ewa_fieldcat-col_pos = 4.

ewa_fieldcat-fieldname = 'KUNNR'.

ewa_fieldcat-tabname = 'JTAB'.

ewa_fieldcat-outputlen = '20'.

ewa_fieldcat-coltext = 'CUSTOMER NO'.

APPEND ewa_fieldcat TO ei_fieldcat.

CLEAR ewa_fieldcat.

ewa_fieldcat-col_pos = 3.

ewa_fieldcat-fieldname = 'ERDAT'.

ewa_fieldcat-tabname = 'JTAB'.

*ewa_fieldcat-outputlen = '8'.

ewa_fieldcat-coltext = 'DATE'.

ewa_fieldcat-edit = 'X'.

APPEND ewa_fieldcat TO ei_fieldcat.

CLEAR ewa_fieldcat.

ewa_fieldcat-col_pos = 5.

ewa_fieldcat-fieldname = 'ERNAM'.

ewa_fieldcat-tabname = 'JTAB'.

*ewa_fieldcat-outputlen = '12'.

ewa_fieldcat-coltext = 'NAME'.

ewa_fieldcat-edit = 'X'.

APPEND ewa_fieldcat TO ei_fieldcat.

CLEAR ewa_fieldcat.

ewa_fieldcat-col_pos = 6.

ewa_fieldcat-fieldname = 'NETWR'.

ewa_fieldcat-tabname = 'JTAB'.

*ewa_fieldcat-outputlen = '15'.

ewa_fieldcat-coltext = 'NET WEIGHT'.

ewa_fieldcat-edit = 'X'.

APPEND ewa_fieldcat TO ei_fieldcat.

CLEAR ewa_fieldcat.

ewa_fieldcat-col_pos = 7.

ewa_fieldcat-fieldname = 'KNUMV'.

ewa_fieldcat-tabname = 'JTAB'.

*ewa_fieldcat-outputlen = '10'.

ewa_fieldcat-coltext = 'DOC COND'.

ewa_fieldcat-edit = 'X'.

APPEND ewa_fieldcat TO ei_fieldcat.

CLEAR ewa_fieldcat.

ewa_fieldcat-col_pos = 8.

ewa_fieldcat-fieldname = 'BSTNK'.

ewa_fieldcat-tabname = 'JTAB'.

*ewa_fieldcat-outputlen = '20'.

ewa_fieldcat-coltext = 'CUST PO'.

APPEND ewa_fieldcat TO ei_fieldcat.

CLEAR ewa_fieldcat.

ewa_fieldcat-col_pos = 9.

ewa_fieldcat-fieldname = 'KTEXT'.

ewa_fieldcat-tabname = 'JTAB'.

*ewa_fieldcat-outputlen = '40'.

ewa_fieldcat-coltext = 'SEARCH TERM FOR PRODUCT PROPOSAL'.

ewa_fieldcat-edit = 'X'.

ewa_fieldcat-drdn_field = 'PTYP_DD_HNDL'.

APPEND ewa_fieldcat TO ei_fieldcat.

ENDFORM. " ebuild_fieldcat