05-23-2006 3:44 PM
Hi,
my requirement is:
in first list, i have to display some sales orders from vbak.
in second list, user has to select multiple sales orders by check boxes besides them & click on execute.
in third list, sales orders(which is selected in second list) details has to be display.
Plese help me how to put check boxes for user selection in second list.
Thnx in advance.
sreenivas.
05-23-2006 4:05 PM
hi srinivas,
u can do it with ALV's in the field catalog
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'Sales Doc.No.'.
WA_FLDCAT-TABNAME = IT_VBAP.
WA_FLDCAT-NO_OUT = 'X'.
WA_FLDCAT-NO_SUM = 'X'.
WA_FLDCAT-checkbox = 'X'.
APPEND WA_FLDCAT TO ITAB_FIELDCAT.
hope this helps,
priya.
05-23-2006 3:48 PM
05-23-2006 3:49 PM
If you are using alvs, then go for an additional field (Single character) in addition to the fielda that are to be diaplyed.
When you fill the field catalog information for that field, set that field as a checkbox.
If you are using normal reports, you can use the
write v_char as checkbox. statement.
Regards,
ravi
05-23-2006 3:52 PM
05-23-2006 3:53 PM
Hii
REPORT Z_INTERACTIVE no standard page heading
Line-size 100 line-count 20(3)
message-id zkirru.
***SELECTION SCREEN*******
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
select-options: S_MATNR FOR V_MATNR.
PARAMETERS: CHECK1 AS CHECKBOX ,
CHECK2 AS CHECKBOX .
SELECTION-SCREEN END OF BLOCK B1.
*******INTERNALTABLE DECLARATION
DATA:BEGIN OF IT_MARD OCCURS 0,
MATNR LIKE MARD-MATNR, "MATERIAL NO --KEY
WERKS LIKE MARD-MATNR, "PLANT --KEY
LGORT LIKE MARD-LGORT, "STORAGE LOCATION--KEY
INSME LIKE MARD-INSME, "QTY INSPECTION STOCK
EINME LIKE MARD-EINME, "RESTRICTED BATCH STOCK
SPEME LIKE MARD-SPEME, "BLOCKED STOCK
END OF IT_MARD.
DATA:BEGIN OF IT_MARA OCCURS 0,
MATNR LIKE MARA-MATNR,
ERSDA LIKE MARA-ERSDA,
ERNAM LIKE MARA-ERNAM,
END OF IT_MARA.
FOR SECONDARY LIST**********
DATA:BEGIN OF IT_MARA_ALV OCCURS 0,
MATNR LIKE MARA-MATNR,
ERSDA LIKE MARA-ERSDA,
ERNAM LIKE MARA-ERNAM,
END OF IT_MARA_ALV.
START-OF-SELECTION.
SET PF-STATUS 'STATUS'.
WRITE 'CHECK THE CHECK BOXES'.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'SELE'.
IF CHECK1 = 'X'.
SET PF-STATUS 'DIALOG'.
SET TITLEBAR 'FIRST BASIC LIST'.
WINDOW STARTING AT 8 5 ENDING AT 45 15.
WRITE 'CHECK SECOND BOX FOR SECOND LIST'.
ELSEIF CHECK2 = 'X'.
SET PF-STATUS 'DIALOG' EXCLUDING 'SELE'.
SET TITLEBAR 'SECOND BASIC LIST'.
WINDOW STARTING AT 55 10 ENDING AT 70 12.
WRITE 'SECOND BASIC LIST'.
ENDIF.
ENDCASE.
DATA:V_REPID TYPE SY-REPID,
V_MATNR TYPE MARA-MATNR.
*****TYPE POOLS*******************
TYPE-POOLS:SLIS.
DATA:IT_MARD_FC TYPE SLIS_T_FIELDCAT_ALV,
FC TYPE SLIS_FIELDCAT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS TYPE SLIS_alv_EVENT,
IT_MARA_ALV_FC TYPE SLIS_T_FIELDCAT_ALV.
INITIALIZATION.********
INITIALIZATION.
V_REPID = SY-REPID.
AT SELECTION-SCREEN.*****
AT SELECTION-SCREEN.
PERFORM VALIDATION.
*******START OF SELECTION************
START-OF-SELECTION.
PERFORM GETDATA.
PERFORM POPULATE_FIELDCATALOG.
PERFORM FILL_EVENTS.
END-OF-SELECTION.
PERFORM DISPLAY_LIST.
&----
*& Form GETDATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM GETDATA .
SELECT MATNR
WERKS
LGORT
INSME
EINME
SPEME FROM MARD INTO table IT_MARD WHERE MATNR IN S_MATNR.
IF SY-SUBRC = 0.
SORT IT_MARD BY MATNR.
select matnr
ersda
ernam
from mara
into TABLE it_mara
FOR ALL ENTRIES IN IT_MARD where matnr = IT_MARD-MATNR.
ENDIF.
ENDFORM. " GETDATA
&----
*& Form POPULATE_FIELDCATALOG
&----
**POPULATING FIELD CATALOG BY SPECIFYING ATTRIBUTES TO FIELD-NAMES.
FORM POPULATE_FIELDCATALOG .
CLEAR FC.
FC-TABNAME = 'IT_MARD'.
FC-FIELDNAME = 'MATNR'.
FC-KEY = 'X'.
FC-HOTSPOT = 'X'.
FC-OUTPUTLEN = 18.
FC-SELTEXT_L = 'MATERIAL NUMBER'.
APPEND FC TO IT_MARD_FC.
CLEAR FC.
FC-TABNAME = 'IT_MARD'.
FC-FIELDNAME = 'WERKS'.
FC-KEY = 'X'.
FC-SELTEXT_L = 'PLANT'.
APPEND FC TO IT_MARD_FC.
CLEAR FC.
FC-TABNAME = 'IT_MARD'.
FC-FIELDNAME = 'LGORT'.
FC-KEY = 'X'.
FC-SELTEXT_S = 'STR LOC'.
FC-SELTEXT_M = 'STORG LOC'.
FC-SELTEXT_L = 'STORAGE LOCATION'.
APPEND FC TO IT_MARD_FC.
CLEAR FC.
FC-TABNAME = 'IT_MARD'.
FC-FIELDNAME = 'INSME'.
FC-KEY = 'X'.
FC-SELTEXT_S = 'QTY INSP'.
FC-SELTEXT_M = 'QTY INSP STOCK'.
FC-SELTEXT_L = 'QTY INSPECTION STOCK'.
APPEND FC TO IT_MARD_FC.
CLEAR FC.
FC-TABNAME = 'IT_MARD'.
FC-FIELDNAME = 'EINME'.
FC-KEY = 'X'.
FC-SELTEXT_S = 'RES STK'.
FC-SELTEXT_M = 'RES BATCH STK'.
FC-SELTEXT_L = 'RESTRICTED BATCH STOCK'.
APPEND FC TO IT_MARD_FC.
CLEAR FC.
FC-TABNAME = 'IT_MARD'.
FC-FIELDNAME = 'SPEME'.
FC-KEY = 'X'.
FC-SELTEXT_S = 'BLK STK'.
FC-SELTEXT_M = 'BLK STOCK'.
FC-SELTEXT_L = 'BLOCKED STOCK'.
APPEND FC TO IT_MARD_FC.
ENDFORM. " POPULATE_FIELDCATALOG
&----
*& Form FILL_EVENTS
&----
text
----
--> p1 text
<-- p2 text
----
FORM FILL_EVENTS .
**THIS FM IS USED TO FILL ALL EVENTS IN IT_EVENTS-NAME'S FILED**
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IT_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.
READ TABLE IT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO WA_EVENTS.
IF SY-SUBRC = 0.
MOVE 'DISPLAY_HEADER' TO WA_EVENTS-FORM.
MODIFY IT_EVENTS from wa_events INDEX SY-TABIX.
ENDIF.
READ TABLE IT_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE INTO WA_EVENTS.
IF SY-SUBRC = 0.
MOVE 'DISPLAY_FOOTER' TO WA_EVENTS-FORM.
MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
ENDIF.
READ TABLE IT_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO
WA_EVENTS.
IF SY-SUBRC = 0.
MOVE 'PROCESS_SECONDARYLIST' TO WA_EVENTS-FORM.
MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
ENDIF.
ENDFORM. " FILL_EVENTS
FORM DISPLAY_HEADER.
FORMAT COLOR 2.
WRITE:/15 'INTELLI GROUP ASIA PVT LTD.'(002) .
ENDFORM.
FORM DISPLAY_FOOTER.
FORMAT COLOR 5.
WRITE:/150 'PAGE NO.'(003),SY-PAGNO.
ENDFORM.
&----
*& Form DISPLAY_LIST
&----
text
----
--> p1 text
<-- p2 text
----
FORM DISPLAY_LIST .
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 =
IT_FIELDCAT = IT_MARD_FC
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = 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 = IT_MARD
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_LIST
&----
*& Form VALIDATION
&----
FORM VALIDATION .
SELECT MATNR FROM MARD INTO V_MATNR
UP TO 1 ROWS
WHERE MATNR IN S_MATNR .
ENDSELECT.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'INVALID MATERIAL NO'.
ENDIF.
ENDFORM. " VALIDATION
FORM PROCESS_SECONDARYLIST USING L_UCOMM LIKE SY-UCOMM L_SELFIELD TYPE
SLIS_SELFIELD .
CASE L_UCOMM.
WHEN '&IC1'.
*READ TABLE IT_MARD INDEX L_SELFIELD-TABINDEX.
REFRESH IT_MARA_ALV.
*LOOP AT IT_MARA WHERE MATNR = IT_MARD-MATNR.
LOOP AT IT_MARA WHERE MATNR = L_SELFIELD-VALUE.
MOVE-CORRESPONDING IT_MARA TO IT_MARA_ALV.
APPEND IT_MARA_ALV.
CLEAR IT_MARA_ALV.
ENDLOOP.
PERFORM DISPLAY_SECONDARYLIST.
ENDCASE.
ENDFORM.
&----
*& Form DISPLAY_SECONDARYLIST
&----
----
FORM DISPLAY_SECONDARYLIST .
PERFORM FIELD_CATALOG_SECONDRY.
PERFORM DISPLAY_SLIST.
ENDFORM. " DISPLAY_SECONDARYLIST
&----
*& Form FIELD_CATALOG_SECONDRY
&----
FORM FIELD_CATALOG_SECONDRY .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = V_REPID
I_INTERNAL_TABNAME = 'IT_MARA_ALV'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = V_REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = IT_MARA_ALV_FC
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.
ENDFORM. " FIELD_CATALOG_SECONDRY
&----
*& Form DISPLAY_SLIST
&----
FORM DISPLAY_SLIST .
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 =
IT_FIELDCAT = IT_MARA_ALV_FC
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 = IT_MARA_ALV
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.
Regards
Naresh
05-23-2006 3:53 PM
EDITED
THIS IS A ALV INTERACTIVE REPORT , COPY AND RUN THE CODE
REPORT Z_50657_ALV_EX5 NO STANDARD PAGE HEADING
LINE-COUNT 65(3)
LINE-SIZE 220
MESSAGE-ID ZZ.
************************************************************************
* Type Pools *
************************************************************************
TYPE-POOLS: SLIS, ICON.
************************************************************************
* Tables *
************************************************************************
TABLES : VBRK, "Billing Master table
VBRP. "Billing Item table
************************************************************************
* VARIABLES DECLARATION *
************************************************************************
DATA: STR_DATE LIKE SY-DATUM.
DATA: X_FIELDCAT_VBRK TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT_VBRK TYPE SLIS_T_FIELDCAT_ALV.
DATA: X_FIELDCAT_VBRP TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT_VBRP TYPE SLIS_T_FIELDCAT_ALV.
DATA: L_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: CUR_VBELN(15), CUR_VBELN_VALUE(15).
DATA: TEMP_VBELN(10).
DATA: CTAB LIKE SY-TABIX.
************************************************************************
* Internal Tables *
************************************************************************
* Internal table to hold data from VBRK
DATA: BEGIN OF IT_VBRK OCCURS 0,
VBELN LIKE VBRK-VBELN,
WAERK LIKE VBRK-WAERK,
VKORG LIKE VBRK-VKORG,
FKDAT LIKE VBRK-FKDAT,
BUKRS LIKE VBRK-BUKRS,
BUTXT LIKE T001-BUTXT,
CHECK(1) TYPE C,
END OF IT_VBRK.
* Internal table to hold data from VBRP
DATA: BEGIN OF IT_VBRP OCCURS 0,
VBELN LIKE VBRP-VBELN,
POSNR LIKE VBRP-POSNR,
FKIMG LIKE VBRP-FKIMG,
VRKME LIKE VBRP-VRKME,
NETWR LIKE VBRP-NETWR,
MATNR LIKE VBRP-MATNR,
ARKTX LIKE VBRP-ARKTX,
END OF IT_VBRP.
DATA: BEGIN OF IT_T001 OCCURS 0,
BUKRS LIKE T001-BUKRS,
BUTXT LIKE T001-BUTXT,
END OF IT_T001.
************************************************************************
* Selection-Screen *
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN,
S_FKDAT FOR VBRK-FKDAT,
S_MATNR FOR VBRP-MATNR.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
PARAMETERS : LIST RADIOBUTTON GROUP G1,
GRID RADIOBUTTON GROUP G1 DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK B2.
************************************************************************
***************** INITIALIZATION ********************
************************************************************************
INITIALIZATION.
STR_DATE = SY-DATUM - 200.
S_FKDAT-LOW = STR_DATE.
S_FKDAT-HIGH = SY-DATUM.
S_FKDAT-SIGN = 'I'.
APPEND S_FKDAT.
************************************************************************
* At Selection-Screen Output *
************************************************************************
AT SELECTION-SCREEN OUTPUT .
LOOP AT SCREEN.
IF SCREEN-NAME = 'S_FKDAT-HIGH'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
************************************************************************
* At Selection-Screen *
************************************************************************
AT SELECTION-SCREEN.
PERFORM VALIDATION.
************************************************************************
* Start of Selection *
************************************************************************
START-OF-SELECTION.
*POPULATION OF DATA INTO INTERNAL TABLE IT_VBRK AND IT_VBRP
PERFORM GET_DATA_VBRK.
PERFORM FIELDCATALOG_CHANGE.
*ALV GRID/LIST DISPLAY
PERFORM FIRST_SCREEN_DISPLAY.
*&--------------------------------------------------------------------*
*& Form VALIDATION
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM VALIDATION.
IF S_VBELN[] IS NOT INITIAL.
SELECT SINGLE VBELN
FROM VBRK
INTO VBRK-VBELN
WHERE VBELN IN S_VBELN.
IF SY-SUBRC <> 0.
MESSAGE I000 WITH 'PLEASE ENTER CORRECT BILLING DOCUMENT'.
STOP.
ENDIF.
ENDIF.
IF S_FKDAT[] IS INITIAL.
MESSAGE I000 WITH 'PLEASE ENTER ALL THE MANDATORY FIELDS'.
STOP.
ENDIF.
IF S_MATNR[] IS NOT INITIAL.
SELECT SINGLE MATNR
FROM MARA
INTO VBRP-MATNR
WHERE MATNR IN S_MATNR.
IF SY-SUBRC <> 0.
MESSAGE I000 WITH 'PLEASE ENTER CORRECT MATERIAL NUMBER'.
STOP.
ENDIF.
ENDIF.
ENDFORM. "VALIDATION
*&--------------------------------------------------------------------*
*& Form GET_DATA_VBRK
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM GET_DATA_VBRK.
SELECT VBELN
WAERK
VKORG
FKDAT
BUKRS
FROM VBRK INTO TABLE IT_VBRK
WHERE VBELN IN S_VBELN
AND FKDAT IN S_FKDAT.
SORT IT_VBRK BY VBELN BUKRS.
SELECT BUKRS
BUTXT
FROM T001 INTO TABLE IT_T001
FOR ALL ENTRIES IN IT_VBRK
WHERE BUKRS = IT_VBRK-BUKRS.
LOOP AT IT_VBRK.
CTAB = SY-TABIX.
LOOP AT IT_T001 WHERE BUKRS = IT_VBRK-BUKRS.
IF SY-SUBRC = 0.
IT_VBRK-BUTXT = IT_T001-BUTXT.
MODIFY IT_VBRK INDEX CTAB.
CLEAR CTAB.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM. "GET_DATA
*&--------------------------------------------------------------------*
*& Form FIELDCATALOG_CHANGE
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM FIELDCATALOG_CHANGE.
*Layout Change
L_LAYOUT-ZEBRA = 'X'.
* L_LAYOUT-BOX_FIELDNAME = 'CHECK'.
*Define seperate Color for the fields
X_FIELDCAT_VBRK-COL_POS = 1.
X_FIELDCAT_VBRK-FIELDNAME = 'CHECK'.
X_FIELDCAT_VBRK-SELTEXT_M = 'chek'.
X_FIELDCAT_VBRK-CHECKBOX = 'X'.
X_FIELDCAT_VBRK-INPUT = 'X'.
X_FIELDCAT_VBRK-EDIT = 'X'.
APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.
CLEAR X_FIELDCAT_VBRK.
X_FIELDCAT_VBRK-COL_POS = 2.
X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.
X_FIELDCAT_VBRK-FIELDNAME = 'VBELN'.
X_FIELDCAT_VBRK-EMPHASIZE = 'C301'.
X_FIELDCAT_VBRK-OUTPUTLEN = 15.
APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.
CLEAR X_FIELDCAT_VBRK.
X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.
X_FIELDCAT_VBRK-FIELDNAME = 'WAERK'.
X_FIELDCAT_VBRK-EMPHASIZE = 'C201'.
X_FIELDCAT_VBRK-OUTPUTLEN = 15.
APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.
CLEAR X_FIELDCAT_VBRK.
X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.
X_FIELDCAT_VBRK-FIELDNAME = 'VKORG'.
X_FIELDCAT_VBRK-EMPHASIZE = 'C300'.
X_FIELDCAT_VBRK-OUTPUTLEN = 15.
APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.
CLEAR X_FIELDCAT_VBRK.
X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.
X_FIELDCAT_VBRK-FIELDNAME = 'FKDAT'.
X_FIELDCAT_VBRK-EMPHASIZE = 'C600'.
X_FIELDCAT_VBRK-OUTPUTLEN = 15.
APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.
CLEAR X_FIELDCAT_VBRK.
X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.
X_FIELDCAT_VBRK-FIELDNAME = 'BUKRS'.
X_FIELDCAT_VBRK-EMPHASIZE = 'C400'.
X_FIELDCAT_VBRK-OUTPUTLEN = 15.
APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.
CLEAR X_FIELDCAT_VBRK.
X_FIELDCAT_VBRK-TABNAME = 'IT_VBRK'.
X_FIELDCAT_VBRK-FIELDNAME = 'BUTXT'.
X_FIELDCAT_VBRK-EMPHASIZE = 'C500'.
X_FIELDCAT_VBRK-OUTPUTLEN = 15.
APPEND X_FIELDCAT_VBRK TO IT_FIELDCAT_VBRK.
CLEAR X_FIELDCAT_VBRK.
ENDFORM. "FIELDCATALOG_CHANGE
*&--------------------------------------------------------------------*
*& Form FIRST_SCREEN_DISPLAY
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM FIRST_SCREEN_DISPLAY.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'IT_VBRK'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = IT_FIELDCAT_VBRK
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.
* CHECK RADIO BUTTON SELECTION AND ACCORDINGLY DISPLAY LIST OR GRID ALV
IF LIST = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = L_LAYOUT
IT_FIELDCAT = IT_FIELDCAT_VBRK
* IT_EVENTS =
TABLES
T_OUTTAB = IT_VBRK
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.
CLEAR LIST.
ENDIF.
IF GRID = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = L_LAYOUT
IT_FIELDCAT = IT_FIELDCAT_VBRK
* IT_EVENTS =
TABLES
T_OUTTAB = IT_VBRK
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.
CLEAR GRID.
ENDIF.
ENDFORM. "FIRST_SCREEN_DISPLAY
*&--------------------------------------------------------------------*
*& Form STATUS
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->P_EXTAB text
*---------------------------------------------------------------------*
FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STATUS' EXCLUDING P_EXTAB.
ENDFORM. "STATUS
*&---------------------------------------------------------------------*
*& Form USER_COMMAND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->R_UCOMM text
* -->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'BACK' OR 'CANC' OR 'EXIT'.
LEAVE TO SCREEN 0.
WHEN '&IC1'.
IF RS_SELFIELD-FIELDNAME = 'VBELN'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = RS_SELFIELD-VALUE
IMPORTING
OUTPUT = TEMP_VBELN.
* TEMP_VBELN = RS_SELFIELD-VALUE.
PERFORM GET_DATA_VBRP.
PERFORM GET_SECOND_SCREEN_DISPLAY.
ENDIF.
ENDCASE.
ENDFORM. "USER_COMMAND
*&--------------------------------------------------------------------*
*& Form GET_DATA_VBRP
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM GET_DATA_VBRP.
SELECT VBELN
POSNR
FKIMG
VRKME
NETWR
MATNR
ARKTX
FROM VBRP INTO TABLE IT_VBRP
WHERE VBELN = TEMP_VBELN.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH ' NO BILLING DETAILS FOUND'.
EXIT.
ENDIF.
ENDFORM. "GET_DATA_VBRP
*&--------------------------------------------------------------------*
*& Form GET_SECOND_SCREEN_DISPLAY
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM GET_SECOND_SCREEN_DISPLAY.
* FIELDCATALOG CALL
X_FIELDCAT_VBRP-TABNAME = 'IT_VBRP'.
X_FIELDCAT_VBRP-FIELDNAME = 'VRKME'.
X_FIELDCAT_VBRP-EMPHASIZE = 'C500'.
X_FIELDCAT_VBRP-OUTPUTLEN = 10.
APPEND X_FIELDCAT_VBRP TO IT_FIELDCAT_VBRP.
CLEAR X_FIELDCAT_VBRP.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'IT_VBRP'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = IT_FIELDCAT_VBRP
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.
* CHECK RADIO BUTTON SELECTION AND ACCORDINGLY DISPLAY LIST OR GRID ALV
IF LIST = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = L_LAYOUT
IT_FIELDCAT = IT_FIELDCAT_VBRP
I_SCREEN_START_COLUMN = 1
I_SCREEN_START_LINE = 1
I_SCREEN_END_COLUMN = 100
I_SCREEN_END_LINE = 10
* IT_EVENTS =
TABLES
T_OUTTAB = IT_VBRP
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.
ENDIF.
IF GRID = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = L_LAYOUT
IT_FIELDCAT = IT_FIELDCAT_VBRP
I_SCREEN_START_COLUMN = 1
I_SCREEN_START_LINE = 1
I_SCREEN_END_COLUMN = 100
I_SCREEN_END_LINE = 10
* IT_EVENTS =
TABLES
T_OUTTAB = IT_VBRP
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.
ENDIF.
ENDFORM. "GET_SECOND_SCREEN_DISPLAY
<b>I HAVENT HANDLED THE CHECK BOX, JUST MAKE SURE THAT U TRANSFER THE CHECK BOX FIELD INTO THE POP-UP,AFTER THIS ACT ACCORDING TO THE SPECIFICATION GIVEN BY VIJAY SO THAT VALUES ARE PASSED ON TO NEXT SCREEN</b>
05-23-2006 3:55 PM
You can use ALV in this case , Check Box handling is simple in case if you opt ALV.
only thing is to capture the data which you want to show in the Respective list and pass it to ALV FM.
Regards
vijay
05-23-2006 4:05 PM
hi srinivas,
u can do it with ALV's in the field catalog
CLEAR WA_FLDCAT.
WA_FLDCAT-FIELDNAME = 'Sales Doc.No.'.
WA_FLDCAT-TABNAME = IT_VBAP.
WA_FLDCAT-NO_OUT = 'X'.
WA_FLDCAT-NO_SUM = 'X'.
WA_FLDCAT-checkbox = 'X'.
APPEND WA_FLDCAT TO ITAB_FIELDCAT.
hope this helps,
priya.
05-23-2006 4:28 PM
If you are really intested in using checkboxes on an ABAP list display, here is a sample program which may help you thru it.
report zrich_0001 no standard page heading.
data: begin of ivbak occurs 0,
check type char01,
vbeln type vbak-vbeln,
end of ivbak.
data: lines type i.
select-options: s_vbeln for ivbak-vbeln.
start-of-selection.
* Create a button for fcode 'DISPLAY'
set pf-status 'LIST'.
select vbeln into corresponding fields of table ivbak
from vbak
where vbeln in s_vbeln.
loop at ivbak.
write:/ ivbak-check as checkbox, ivbak-vbeln.
endloop.
at user-command.
case sy-ucomm.
when 'DISPLAY'.
* Mark the internal table for the checkboxes selected on list
describe table ivbak lines lines.
do lines times.
read line sy-index field value ivbak-check.
if ivbak-check = 'X'.
read table ivbak index sy-index.
if sy-subrc = 0.
ivbak-check = 'X'.
modify ivbak index sy-index.
endif.
endif.
enddo.
* Now display the sales order for all select SD docs
loop at ivbak where check = 'X'.
set parameter id 'AUN' field ivbak-vbeln.
call transaction 'VA03' and skip first screen..
endloop.
endcase.
Regards,
Rich Heilman
05-24-2006 4:19 PM
Hi Rich Heilman,
Thank you for your valuable help.
I need some more info on the same issue.
The secondary list has to show the sales order details form the table vbap for all the entries having in vbak.
From the internal table it_vbap, i need to show the final output(not from it_vbak).
Pls help me regarding this......
if you provide piece of code, appreciated.
thnx.
sreenivas.
05-24-2006 4:38 PM
Hi,
<b> use following code.
data it_vbak1 like ivbak occurs 0 with header line.</b>
describe table ivbak lines lines.
do lines times.
read line sy-index field value ivbak-check.
if ivbak-check = 'X'.
read table ivbak index sy-index.
if sy-subrc = 0.
ivbak-check = 'X'.
modify ivbak index sy-index.
endif.
endif.
enddo.
**Include this code
<b>it_vbak1[] = ivbak.
delete it_vbak1 where check <> 'X'.
select * from vbap into table it_vbap
for all entries in it_vbak1
where vbeln = it_vbak1-vbeln.
loop at it_vbap.
display contents of vbap in your secondary list
endloop </b>
Regards
Amole
05-24-2006 6:00 PM
Thnx for giving reply and helping me.
I think you are not getting my aim of the report.
Let me explain it clearly..........
See,
1. I need the header level data into internal table i_vbak & item level data into internal table i_vbap.
2. In 1st list, i need to display the check boxes along with sales orders(from i_vbap) having entries in i_vbak.
3. In 2nd list, i need to display multiple sales order's details for all the selected sales orders from 1st list.
4. From here, if user double click on any sales order number, it has to call the tcode VA03.
I hope u clear now.
I am waiting for your valuable solution.
Thanking you very much.
Rgds
sreenivas.
05-25-2006 6:58 AM
Hai Sreenivasulu M
Go through the following Code
&----
*& Report ZSSSS1 *
*& *
&----
*& *
*& *
&----
REPORT ZSSSS1 LINE-SIZE 120
LINE-COUNT 25(3)
MESSAGE-ID ZSAN.
********************************************************************
*Program Desc: INTERACTIVE REPORT FOR PURCHASE ORDER DETAILS
BASIC LIST CONTAINS HEADER DETAILS
SECONDARY LIST CONTAINS ITEM DETAILS
AND CONDETION RECORD DETAILS
********************************************************************
T A B L E S U S E D *
********************************************************************
TABLES: EKKO,EKPO,KONV,LFA1,T001.
********************************************************************
S E L E C T I O N S C R E E N *
********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
SELECT-OPTIONS:
S_LIFNR FOR EKKO-LIFNR,
S_BUKRS FOR EKKO-BUKRS.
SELECTION-SCREEN END OF BLOCK B1.
********************************************************************
D A T A D E C L A R A T I O N S *
********************************************************************
DATA: BEGIN OF IT_EKKO OCCURS 0,
BUKRS LIKE EKKO-BUKRS,
LIFNR LIKE EKKO-LIFNR,
EBELN LIKE EKKO-EBELN,
KNUMV LIKE EKKO-KNUMV,
END OF IT_EKKO.
DATA: BEGIN OF IT_EKPO OCCURS 0,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
INFNR LIKE EKPO-INFNR,
MENGE LIKE EKPO-MENGE,
MEINS LIKE EKPO-MEINS,
NETPR LIKE EKPO-NETPR,
END OF IT_EKPO.
DATA: BEGIN OF IT_KONV OCCURS 0,
KNUMV LIKE KONV-KNUMV,
KSCHL LIKE KONV-KSCHL,
KAWRT LIKE KONV-KAWRT,
KBETR LIKE KONV-KBETR,
KPOSN LIKE KONV-KPOSN,
END OF IT_KONV.
DATA: BEGIN OF IT_LFA1 OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
STRAS LIKE LFA1-STRAS,
ORT01 LIKE LFA1-ORT01,
PSTLZ LIKE LFA1-PSTLZ,
LAND1 LIKE LFA1-LAND1,
END OF IT_LFA1.
DATA: V_BUTXT LIKE T001-BUTXT,
FNAM(20) TYPE C,
FVAL(20) TYPE C.
********************************************************************
A T S E L E C T I O N - S C R E E N O N <FIELD> *
********************************************************************
AT SELECTION-SCREEN ON S_BUKRS.
PERFORM VALIDATE.
********************************************************************
S T A R T - O F - S E L E C T I O N *
********************************************************************
START-OF-SELECTION.
PERFORM SELECT_DATA. " SELECTION OF ALL DATA
PERFORM DISPLAY_DATA. " DISPLAY OF BASIC LIST
********************************************************************
A T L I N E S E L E C T I O N *
********************************************************************
AT LINE-SELECTION.
GET CURSOR FIELD FNAM VALUE FVAL.
CASE FNAM.
WHEN 'IT_EKKO-EBELN'.
PERFORM DISPLAY_SEC1.
WHEN 'IT_EKKO-LIFNR'.
PERFORM DISPLAY_SEC2.
WHEN OTHERS.
PERFORM DISPLAY_SEC3.
ENDCASE.
********************************************************************
T O P - O F - P A G E *
********************************************************************
TOP-OF-PAGE.
PERFORM WRITE_HEADER.
********************************************************************
T O P - O F - P A G E D U R I N G L I N E S E L *
********************************************************************
TOP-OF-PAGE DURING LINE-SELECTION.
PERFORM WRITE_HEADER2.
********************************************************************
E N D - O F - P A G E *
********************************************************************
END-OF-PAGE.
PERFORM WRITE_FOOTER.
&----
*& Form SELECT_DATA
&----
THIS FORM CONTAINS ALL SELECTION OF DATA STATEMENTS
----
form SELECT_DATA.
SELECT BUKRS LIFNR EBELN KNUMV
FROM EKKO
INTO TABLE IT_EKKO
WHERE LIFNR IN S_LIFNR
AND BUKRS IN S_BUKRS.
IF NOT IT_EKKO[] IS INITIAL.
SELECT EBELN EBELP MATNR INFNR MENGE MEINS NETPR
FROM EKPO
INTO TABLE IT_EKPO
FOR ALL ENTRIES IN IT_EKKO
WHERE EBELN = IT_EKKO-EBELN.
IF SY-SUBRC = 0.
LOOP AT IT_EKKO.
LOOP AT IT_EKPO.
SELECT KNUMV KSCHL KAWRT KBETR KPOSN
FROM KONV
INTO IT_KONV
WHERE KNUMV = IT_EKKO-KNUMV
AND KPOSN = IT_EKPO-EBELP.
APPEND IT_KONV.
ENDSELECT.
ENDLOOP.
ENDLOOP.
ENDIF." END OF IF FOR CHECK OF SY-SUBRC
SELECT LIFNR NAME1 STRAS ORT01 PSTLZ LAND1
INTO TABLE IT_LFA1
FROM LFA1
FOR ALL ENTRIES IN IT_EKKO
WHERE LIFNR = IT_EKKO-LIFNR.
ENDIF." END OF IF FOR IT_EKKO IS NOT INITIAL
endform. " SELECT_DATA
&----
*& Form DISPLAY_DATA
&----
DISPLAY THE BASIC DATA
----
form DISPLAY_DATA.
DATA: LINNO TYPE I.
SORT IT_EKKO BY BUKRS LIFNR EBELN.
LOOP AT IT_EKKO.
READ TABLE IT_LFA1 WITH KEY LIFNR = IT_EKKO-LIFNR.
SELECT SINGLE BUTXT
FROM T001
INTO (V_BUTXT)
WHERE BUKRS = IT_EKKO-BUKRS.
WRITE:/1 SY-VLINE,
(10) IT_EKKO-EBELN HOTSPOT ON,
SY-VLINE,
(10) IT_EKKO-LIFNR HOTSPOT ON,
SY-VLINE,
(15) IT_LFA1-NAME1 HOTSPOT ON,
SY-VLINE,
(10) IT_EKKO-BUKRS HOTSPOT ON,
SY-VLINE,
(15) V_BUTXT,
75 SY-VLINE.
HIDE: IT_EKKO-EBELN,
IT_EKKO-LIFNR.
WRITE:/1(75) SY-ULINE.
AT END OF LIFNR.
LINNO = SY-LINCT - SY-LINNO - 1.
SKIP LINNO.
ENDAT.
ENDLOOP.
endform. " DISPLAY_DATA
&----
*& Form DISPLAY_SEC3
&----
form DISPLAY_SEC3.
LOOP AT IT_EKPO.
CLEAR: IT_EKPO, IT_KONV.
READ TABLE IT_EKPO WITH KEY EBELN = IT_EKKO-EBELN.
IF SY-SUBRC = 0.
FORMAT COLOR 3.
WRITE:/1 SY-VLINE,
(10) IT_EKPO-EBELN,
SY-VLINE,
(10) IT_EKPO-EBELP,
SY-VLINE,
(18) IT_EKPO-MATNR,
SY-VLINE,
(10) IT_EKPO-INFNR,
SY-VLINE,
(15) IT_EKPO-MENGE,
SY-VLINE,
(10) IT_EKPO-MEINS,
SY-VLINE,
(12) IT_EKPO-NETPR,
105 SY-VLINE.
FORMAT COLOR OFF.
WRITE:/1(105) SY-ULINE.
FORMAT COLOR 4.
READ TABLE IT_KONV WITH KEY KPOSN = IT_EKPO-EBELP.
IF SY-SUBRC = 0.
WRITE:/1 SY-VLINE,
(10) IT_KONV-KNUMV,
SY-VLINE,
(10) IT_KONV-KSCHL,
SY-VLINE,
(15) IT_KONV-KAWRT,
SY-VLINE,
(12) IT_KONV-KBETR,
SY-VLINE.
WRITE:/1(95) SY-ULINE.
FORMAT COLOR OFF.
ENDIF.
ENDIF.
ENDLOOP.
endform. " DISPLAY_SEC3
&----
*& Form DISPLAY_SEC1
&----
TO CALL TRANSACTION ME23
----
form DISPLAY_SEC1.
SET PARAMETER ID 'BES' FIELD IT_EKKO-EBELN.
CALL TRANSACTION 'ME23' AND SKIP FIRST SCREEN.
endform. " DISPLAY_SEC1
&----
*& Form WRITE_HEADER
&----
HEADER DISPLAY
----
form WRITE_HEADER.
FORMAT COLOR 3.
WRITE:/1 SY-VLINE,
(10) 'PUR.ORDER',
SY-VLINE,
(10) 'VENDOR',
SY-VLINE,
(15) 'NAME',
SY-VLINE,
(10) 'COMP.CODE',
SY-VLINE,
(15) 'COMP.DESC',
75 SY-VLINE.
WRITE:/1(75) SY-ULINE.
FORMAT COLOR OFF.
endform. " WRITE_HEADER
&----
*& Form WRITE_FOOTER
&----
FOOTER OF LIST
----
form WRITE_FOOTER.
FORMAT COLOR 4.
WRITE: /1 'USER:',SY-UNAME,
45 'DATE:', SY-DATUM.
FORMAT COLOR OFF.
endform. " WRITE_FOOTER
&----
*& Form WRITE_HEADER2
&----
HEADER FOR SECONDARY LIST
----
form WRITE_HEADER2.
FORMAT COLOR 4.
WRITE: /30 'INTELLIGROUP ASIA PVT LTD' CENTERED.
WRITE:/50 'HYDERABAD' CENTERED.
FORMAT COLOR 5.
WRITE:/1 SY-VLINE,
(10) 'PUR.ORDR',
SY-VLINE,
(10) 'ITEM',
SY-VLINE,
(18) 'MATERIAL NUMBER',
SY-VLINE,
(10) 'INFO.RECD',
SY-VLINE,
(15) 'QUANTITY',
SY-VLINE,
(10) 'UNITS',
SY-VLINE,
(12) 'NETPRICE',
105 SY-VLINE.
FORMAT COLOR OFF.
WRITE:/1(105) SY-ULINE.
FORMAT COLOR 6.
WRITE:/1 SY-VLINE,
(10) 'COND.RECD',
SY-VLINE,
(10) 'TYPE',
SY-VLINE,
(15) 'BASE VALUE',
SY-VLINE,
(12) 'AMOUNT',
SY-VLINE.
FORMAT COLOR OFF.
WRITE:/1(95) SY-ULINE.
endform. " WRITE_HEADER2
&----
*& Form DISPLAY_SEC2
&----
TO DISPLAY VENDOR DETAILS IN POP UP WINDOW
----
form DISPLAY_SEC2.
READ TABLE IT_LFA1 WITH KEY LIFNR = IT_EKKO-LIFNR.
IF SY-SUBRC = 0.
WRITE:/ 'NAME IS:' , IT_LFA1-NAME1,
/ 'STREET IS:', IT_LFA1-STRAS,
/ 'CITY IS:', IT_LFA1-ORT01,
/ 'POSTEL CODE IS:',IT_LFA1-PSTLZ,
/ 'COUNTRY IS: ', IT_LFA1-LAND1.
WINDOW STARTING AT 1 15
ENDING AT 50 20.
ENDIF.
endform. " DISPLAY_SEC2
&----
*& Form VALIDATE
&----
VALIDATE BUKRS
----
form VALIDATE.
SELECT SINGLE *
FROM T001
WHERE BUKRS IN S_BUKRS.
IF SY-SUBRC <> 0.
MESSAGE E001.
ENDIF.
endform. " VALIDATE
Thanks & regards
Sreenivasulu P