Application Development 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: 

Help needed in Interactive report

Former Member
0 Kudos

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.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

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.

12 REPLIES 12

Former Member
0 Kudos

u can do it in an alv report

chk the following link

<b>

plz reward if useful

former_member181962
Active Contributor
0 Kudos

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

Former Member
0 Kudos

HI,

I think you can do in ALVs.

Regards

Laxmi

Former Member
0 Kudos

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

rahulkavuri
Active Contributor
0 Kudos

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>

former_member188685
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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.

0 Kudos

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

0 Kudos

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.

Former Member
0 Kudos

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

0 Kudos

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.

Former Member
0 Kudos

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