100% found this document useful (1 vote)
1K views

Sap Exercise On Smartforms

This document provides requirements for an exercise to display a sales order acknowledgement using an ALV report and smart forms. It outlines the need to select sales order data based on selection screen entries, display an ALV grid with selected fields, and allow the user to view a smart form with additional order details by clicking on items in the ALV grid. It also describes displaying customer details by clicking on the customer number field.

Uploaded by

Alexis Goodby
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
1K views

Sap Exercise On Smartforms

This document provides requirements for an exercise to display a sales order acknowledgement using an ALV report and smart forms. It outlines the need to select sales order data based on selection screen entries, display an ALV grid with selected fields, and allow the user to view a smart form with additional order details by clicking on items in the ALV grid. It also describes displaying customer details by clicking on the customer number field.

Uploaded by

Alexis Goodby
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 18

EXERCISE ON ALV AND SMARTFORMS Requirements

FUNCTIONAL DESCRIPTION The purpose of this document is to display Sales Order acknowledgement. The smart form displays detail of the order which can be printed

1. execute custom transaction to display the sales order data based


on selection screen entries

2. display of an ALV report based on the layout selected in 3.


selection screen with sales order fields proving an option to the user to view smart form with organization details

Functional Specification.

1. Create a report with the following in selection screen. a. b. c. d.


Sales document(VBAK-VBELN) Document Creation date(VBAK-ERDAT) Sales Organization(VBAK-VKORG) Layout (DISVARIANT-VARIANT)

2. Display ALV Grid Report with the following fields a. b. c. d. e. f. g. h. i. Sales document no Document creation date Document category Sales Organization Distribution Channel Division Sales Group Sales office Customer number.

3. If user clicks on the SD number then display the Smart form with a. Order Number b. Order Line Item c. Order Type d. Creation Date e. Created By f. Header Sold to g. Customer Group h. Material number i. Material Description j. Line Item sold to

4. If user clicks on the Customer number then display with the


following data

a. b. c. d. e. f.

Customer number Name House number and street City Region state Postal code

Team Members

SHANKAR BM YASHWANTH REDDY SHAIK FAHAD

SHRADDHA SHARMA

----------------------------------------------* *& Report Z_CASESTUDY_GROUP1 *& *&--------------------------------------------------------------------* *& *& *&--------------------------------------------------------------------* REPORT Z_CASESTUDY_GROUP1.

TYPE-POOLS: SLIS. TABLES: VBAK, VBAP, VBPA, KNA1, VBKD, MAKT. * DECLARE A STRUCTURE SELECTING DESIRED FIELDS FROM VBAK AND VBPA TABLE S TYPES: BEGIN OF TY_VBAK, VBELN TYPE VBAK-VBELN, ERDAT TYPE VBAK-ERDAT, VBTYP TYPE VBAK-VBTYP, VKORG TYPE VBAK-VKORG, VTWEG TYPE VBAK-VTWEG, SPART TYPE VBAK-SPART, VKGRP TYPE VBAK-VKGRP, ERNAM TYPE VBAK-ERNAM, VKBUR TYPE VBAK-VKBUR, KUNNR TYPE VBPA-KUNNR, END OF TY_VBAK. * CREATE AN INTERNAL TABLE AND A WORK AREA FOR INTERNAL TABLE

DATA: IT_VBAK TYPE STANDARD TABLE OF TY_VBAK, WA_VBAK TYPE TY_VBAK. * DECLARE A STRUCTURE SELECTING DESIRED FIELDS FROM VBPA TABLE TYPES: BEGIN OF T_VBPA, VBELN TYPE VBPA-VBELN, KUNNR TYPE VBPA-KUNNR, END OF T_VBPA. * CREATE AN INTERNAL TABLE AND A WORK AREA FOR INTERNAL TABLE DATA: IT_VBPA TYPE STANDARD TABLE OF T_VBPA, WA_VBPA TYPE T_VBPA. *DECLARE A STRUCTURE SELECTING DESIRED FIELDS FROM KNA1 TABLE TYPES: BEGIN OF T_KNA1, KUNNR TYPE KNA1-KUNNR, NAME1 TYPE KNA1-NAME1, STRAS TYPE KNA1-STRAS, ORT01 TYPE KNA1-ORT01, REGIO TYPE KNA1-REGIO, PSTLZ TYPE KNA1-PSTLZ, TELF1 TYPE KNA1-TELF1, TELFX TYPE KNA1-TELFX, END OF T_KNA1. * CREATE AN INTERNAL TABLE AND A WORK AREA FOR INTERNAL TABLE

DATA: IT_KNA1 TYPE STANDARD TABLE OF T_KNA1, WA_KNA1 TYPE T_KNA1. * CREATE AN INTERNAL TABLE USING TABLE TYPE DEFINED IN DATA DICTIONARY AND ITS CORRESPONDING WORK AREA DATA: I_TABLE TYPE ZWT_SMART, WA_TABLE TYPE ZWA_SMART. *DECLARE INTERNAL TABLES TO BUILD FIELDCATALOG DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE, "for alv FIELDCATALOG_POP TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE. "for popup DATA: Z_SAVE TYPE C VALUE 'A', Z_VARIANT LIKE DISVARIANT, ZX_VARIANT LIKE DISVARIANT, Z_EXIT TYPE C, REPNAME LIKE SY-REPID. DATA: DUMMY TYPE VBAK-VKORG. *INITIALIZATION EVENT INITIALIZATION.

REPNAME = SY-REPID. PERFORM INITIALIZE_VARIANT. *DATA: Z_LAYOUT TYPE SLIS_LAYOUT_ALV. SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN OBLIGATORY , S_ERDAT FOR VBAK-ERDAT OBLIGATORY . PARAMETERS: P_VKORG TYPE VBAK-VKORG. PARAMETERS: P_LAYOUT TYPE DISVARIANT-VARIANT. SELECTION-SCREEN END OF BLOCK B1. AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LAYOUT. PERFORM F4_VALUE_REQUEST. AT SELECTION-SCREEN. SELECT SINGLE VKORG FROM VBAK INTO DUMMY WHERE VKORG = P_VKORG. IF SY-SUBRC <> 0. MESSAGE E398(00) WITH TEXT-003. ENDIF. PERFORM PAI_OF_SELECTION_SCREEN. *START-OF-SELECTION EVENT START-OF-SELECTION. PERFORM DATA_RETRIEVAL. "POPULATE INTERNAL TABLES PERFORM BUILD_FIELDCATOLOG. "POPULATE FIELDCATALOG INTERNAL TABLE FOR CREATING ALV GRID DISPLAY PERFORM BUILD_FIELDCATALOG_POP. "POPULATE FIELDCATALOG_POP INTERNAL T ABLE FOR CREATING popup * PERFORM ZY_LAYOUT. PERFORM ALVDISPLAY. " TO DISPLAY ALV GRID REPORT *&--------------------------------------------------------------------* *& Form DATA_RETRIEVAL *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* * --> p1 text * <-- p2 text *---------------------------------------------------------------------* FORM DATA_RETRIEVAL . SELECT VBELN ERDAT VBTYP VKORG VTWEG SPART

VKGRP ERNAM VKBUR FROM VBAK INTO TABLE IT_VBAK WHERE VBELN IN S_VBELN AND ERDAT IN S_ERDAT AND VKORG EQ P_VKORG. "TABLE IT_VBAK POPULATED SELECT VBELN KUNNR FROM VBPA INTO TABLE IT_VBPA FOR ALL ENTRIES IN IT_VBAK WHERE VBELN = IT_VBAK-VBELN. "TABLE IT_VBPA POPULATED LOOP AT IT_VBAK INTO WA_VBAK. READ TABLE IT_VBPA INTO WA_VBPA WITH KEY VBELN = WA_VBAK-VBELN. WA_VBAK-KUNNR = WA_VBPA-KUNNR. MODIFY IT_VBAK FROM WA_VBAK TRANSPORTING KUNNR. ENDLOOP. ENDFORM. " DATA_RETRIEVAL *&--------------------------------------------------------------------* *& Form BUILD_FIELDCATOLOG *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* * --> p1 text * <-- p2 text *---------------------------------------------------------------------* FORM BUILD_FIELDCATOLOG . FIELDCATALOG-FIELDNAME = 'VBELN'. FIELDCATALOG-SELTEXT_M = 'Sales Document'. FIELDCATALOG-COL_POS = 0. FIELDCATALOG-OUTPUTLEN = 10. FIELDCATALOG-EMPHASIZE = 'C1'. * FIELDCATALOG-KEY = 'X'. FIELDCATALOG-HOTSPOT = 'X'. * fieldcatalog-do_sum = 'X'. * fieldcatalog-no_zero = 'X'. APPEND FIELDCATALOG TO FIELDCATALOG. CLEAR FIELDCATALOG. FIELDCATALOG-FIELDNAME = 'ERDAT'. FIELDCATALOG-SELTEXT_M = 'Created On'. FIELDCATALOG-COL_POS = 1. APPEND FIELDCATALOG TO FIELDCATALOG. CLEAR FIELDCATALOG. FIELDCATALOG-FIELDNAME = 'VBTYP'.

FIELDCATALOG-SELTEXT_M = 'Document Category'. FIELDCATALOG-COL_POS = 2. APPEND FIELDCATALOG TO FIELDCATALOG. CLEAR FIELDCATALOG. FIELDCATALOG-FIELDNAME = 'VKORG'. FIELDCATALOG-SELTEXT_M = 'Sales Organization'. FIELDCATALOG-COL_POS = 3. APPEND FIELDCATALOG TO FIELDCATALOG. CLEAR FIELDCATALOG. FIELDCATALOG-FIELDNAME = 'VTWEG'. FIELDCATALOG-SELTEXT_M = 'Distribution Channel'. FIELDCATALOG-COL_POS = 4. APPEND FIELDCATALOG TO FIELDCATALOG. CLEAR FIELDCATALOG. FIELDCATALOG-FIELDNAME = 'SPART'. FIELDCATALOG-SELTEXT_M = 'Division'. FIELDCATALOG-COL_POS = 5. APPEND FIELDCATALOG TO FIELDCATALOG. CLEAR FIELDCATALOG. FIELDCATALOG-FIELDNAME = 'VKGRP'. FIELDCATALOG-SELTEXT_M = 'Sales Group'. FIELDCATALOG-COL_POS = 6. APPEND FIELDCATALOG TO FIELDCATALOG. CLEAR FIELDCATALOG. FIELDCATALOG-FIELDNAME = 'ERNAM'. FIELDCATALOG-SELTEXT_M = 'Created By'. FIELDCATALOG-COL_POS = 6. FIELDCATALOG-NO_OUT = 'X'. APPEND FIELDCATALOG TO FIELDCATALOG. CLEAR FIELDCATALOG. FIELDCATALOG-FIELDNAME = 'VKBUR'. FIELDCATALOG-SELTEXT_M = 'Sales Office'. FIELDCATALOG-COL_POS = 7. FIELDCATALOG-OUTPUTLEN = 15. APPEND FIELDCATALOG TO FIELDCATALOG. CLEAR FIELDCATALOG. FIELDCATALOG-FIELDNAME = 'KUNNR'. FIELDCATALOG-SELTEXT_M = 'Customer Number'. FIELDCATALOG-COL_POS = 8. FIELDCATALOG-HOTSPOT = 'X'. FIELDCATALOG-EMPHASIZE = 'C6'. APPEND FIELDCATALOG TO FIELDCATALOG. CLEAR FIELDCATALOG. ENDFORM. "BUILD_FIELDCATOLOG

*&--------------------------------------------------------------------* *& Form BUILD_FIELDCATALOG_POP *&---------------------------------------------------------------------

* * text *---------------------------------------------------------------------* FORM BUILD_FIELDCATALOG_POP . FIELDCATALOG_POP-FIELDNAME = 'KUNNR'. FIELDCATALOG_POP-SELTEXT_M = 'Customer Number'. APPEND FIELDCATALOG_POP TO FIELDCATALOG_POP. CLEAR FIELDCATALOG_POP. FIELDCATALOG_POP-FIELDNAME = 'NAME1'. FIELDCATALOG_POP-SELTEXT_M = 'Customer NAME'. APPEND FIELDCATALOG_POP TO FIELDCATALOG_POP. CLEAR FIELDCATALOG_POP. FIELDCATALOG_POP-FIELDNAME = 'STRAS'. FIELDCATALOG_POP-SELTEXT_M = 'House Number and Street'. APPEND FIELDCATALOG_POP TO FIELDCATALOG_POP. CLEAR FIELDCATALOG_POP. FIELDCATALOG_POP-FIELDNAME = 'ORT01'. FIELDCATALOG_POP-SELTEXT_M = 'City'. APPEND FIELDCATALOG_POP TO FIELDCATALOG_POP. CLEAR FIELDCATALOG_POP. FIELDCATALOG_POP-FIELDNAME = 'REGIO'. FIELDCATALOG_POP-SELTEXT_M = 'Region'. APPEND FIELDCATALOG_POP TO FIELDCATALOG_POP. CLEAR FIELDCATALOG_POP. FIELDCATALOG_POP-FIELDNAME = 'PSTLZ'. FIELDCATALOG_POP-SELTEXT_M = 'Postal Code'. APPEND FIELDCATALOG_POP TO FIELDCATALOG_POP. CLEAR FIELDCATALOG_POP. FIELDCATALOG_POP-FIELDNAME = 'TELF1'. FIELDCATALOG_POP-SELTEXT_M = 'Telephone Number'. APPEND FIELDCATALOG_POP TO FIELDCATALOG_POP. CLEAR FIELDCATALOG_POP. FIELDCATALOG_POP-FIELDNAME = 'TELFX'. FIELDCATALOG_POP-SELTEXT_M = 'Fax Number'. APPEND FIELDCATALOG_POP TO FIELDCATALOG_POP. CLEAR FIELDCATALOG_POP. ENDFORM. "BUILD_FIELDCATALOG_POP *&--------------------------------------------------------------------* *& Form ZY_LAYOUT *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* *FORM ZY_LAYOUT . * Z_LAYOUT-ZEBRA = 'X'.

* Z_LAYOUT-NO_INPUT = 'X'. * Z_LAYOUT-COLWIDTH_OPTIMIZE = 'X'. *ENDFORM. "ZY_LAYOUT *& Form INITIALIZE_VARIANT *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* * --> p1 text * <-- p2 text *---------------------------------------------------------------------* *&--------------------------------------------------------------------* FORM INITIALIZE_VARIANT . Z_SAVE = 'A'. CLEAR Z_VARIANT. Z_VARIANT-REPORT = REPNAME. ZX_VARIANT = Z_VARIANT. CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET' EXPORTING I_SAVE = Z_SAVE CHANGING CS_VARIANT = ZX_VARIANT EXCEPTIONS WRONG_INPUT = 1 NOT_FOUND = 2 PROGRAM_ERROR = 3 OTHERS = 4. IF SY-SUBRC = 0. P_LAYOUT = ZX_VARIANT-VARIANT. ENDIF. 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. " INITIALIZE_VARIANT *&--------------------------------------------------------------------* *& Form F4_VALUE_REQUEST *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* * --> p1 text * <-- p2 text *---------------------------------------------------------------------* FORM F4_VALUE_REQUEST . CALL FUNCTION 'REUSE_ALV_VARIANT_F4' "FM USED TO GENERATE POSSIBLE EN TRIES LIST FOR LAYOUT PARAMETER EXPORTING

IS_VARIANT = Z_VARIANT I_TABNAME_HEADER = I_TABNAME_ITEM = IT_DEFAULT_FIELDCAT = I_SAVE = 'X' * I_DISPLAY_VIA_GRID = ' ' IMPORTING E_EXIT = Z_EXIT ES_VARIANT = ZX_VARIANT EXCEPTIONS NOT_FOUND = 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. ELSE. IF Z_EXIT = SPACE. P_LAYOUT = ZX_VARIANT-VARIANT. ENDIF. ENDIF. * * * ENDFORM. "F4_VALUE_REQUEST

*& Form PAI_OF_SELECTION_SCREEN *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* * --> p1 text * <-- p2 text *---------------------------------------------------------------------* FORM PAI_OF_SELECTION_SCREEN . IF NOT P_LAYOUT IS INITIAL. MOVE Z_VARIANT TO ZX_VARIANT. MOVE P_LAYOUT TO ZX_VARIANT-VARIANT. CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE' EXPORTING I_SAVE = Z_SAVE CHANGING CS_VARIANT = ZX_VARIANT. Z_VARIANT = ZX_VARIANT. ELSE. PERFORM INITIALIZE_VARIANT. ENDIF. ENDFORM. " PAI_OF_SELECTION_SCREEN

*&--------------------------------------------------------------------*

*& Form ALVDISPLAY *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* * --> p1 text * <-- p2 text *---------------------------------------------------------------------* FORM ALVDISPLAY . TYPES TY_LAYOUT TYPE SLIS_LAYOUT_ALV. DATA: I_LAYOUT TYPE STANDARD TABLE OF TY_LAYOUT, IT_EVENT TYPE SLIS_T_EVENT. DATA: WA_DISVARIANT LIKE DISVARIANT. WA_DISVARIANT-REPORT = SY-REPID. WA_DISVARIANT-USERNAME = SY-UNAME. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' "FM USED TO DISPLAY REPORT IN ALV GRID FORMAT EXPORTING * I_INTERFACE_CHECK = ' ' * I_BYPASSING_BUFFER = ' ' * I_BUFFER_ACTIVE = ' ' I_CALLBACK_PROGRAM = SY-REPID * I_CALLBACK_PF_STATUS_SET = ' ' I_CALLBACK_USER_COMMAND = 'USER_COMMAND' "EVENT ON ALV D ISPLAY DEFINED BELOW * I_CALLBACK_TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_END_OF_LIST = ' ' * I_STRUCTURE_NAME = * I_BACKGROUND_ID = ' ' I_GRID_TITLE = TEXT-002 * I_GRID_SETTINGS = * IS_LAYOUT = Z_LAYOUT IT_FIELDCAT = FIELDCATALOG[] * IT_EXCLUDING = * IT_SPECIAL_GROUPS = * IT_SORT = * IT_FILTER = * IS_SEL_HIDE = * I_DEFAULT = 'X' I_SAVE = 'X' IS_VARIANT = WA_DISVARIANT * IT_EVENTS = IT_EVENT[] * 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 * I_HTML_HEIGHT_TOP = 0

* I_HTML_HEIGHT_END = 0 * IT_ALV_GRAPHICS = * IT_HYPERLINK = * IT_ADD_FIELDCAT = * IT_EXCEPT_QINFO = * IR_SALV_FULLSCREEN_ADAPTER = * IMPORTING * E_EXIT_CAUSED_BY_CALLER = * ES_EXIT_CAUSED_BY_USER = TABLES T_OUTTAB = IT_VBAK 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. " F4_VALUE_REQUEST ENDFORM. " ALVDISPLAY *&--------------------------------------------------------------------* *& Form USER_COMMAND123 *&--------------------------------------------------------------------* * text *---------------------------------------------------------------------* * -->FP_FCODE text * -->FP_SELFIELD text *---------------------------------------------------------------------* FORM USER_COMMAND USING FP_FCODE TYPE SY-UCOMM FP_SELFIELD TYPE SLIS_SELFIELD. * DECLARE LOCAL VARIABLES DATA: LV_FIELD_CLICKED TYPE SLIS_SELFIELD-FIELDNAME, LV_FIELD_VALUE TYPE SLIS_SELFIELD-VALUE, LV_DATA TYPE STRING. LV_FIELD_CLICKED = FP_SELFIELD-FIELDNAME. LV_FIELD_VALUE = FP_SELFIELD-VALUE. LV_DATA = LV_FIELD_VALUE. "TYPE CONVERSION

SELECT

POSNR MATNR KWMENG FROM VBAP INTO CORRESPONDING FIELDS OF TABLE I_TABLE WHERE VBELN = LV_DATA. " CORRESPONDING FIELDS POPULATED INTO I_TABLE

LOOP AT I_TABLE INTO WA_TABLE. SELECT SINGLE MAKTX FROM MAKT INTO WA_TABLE-MAKTX WHERE MATNR = WA_ TABLE-MATNR. SELECT SINGLE KUNNR FROM VBPA INTO WA_TABLE-KUNNR WHERE VBELN = LV_ DATA. MODIFY I_TABLE FROM WA_TABLE . ENDLOOP. "INTERNAL TABLE I_TABLE POPULATED DATA: KD_GRP TYPE VBKD-KDGRP. SELECT SINGLE KDGRP FROM VBKD INTO KD_GRP WHERE VBELN = LV_DATA. DATA: WA_SMART TYPE ZTY_SMART. CLEAR WA_VBAK. READ TABLE IT_VBAK INTO WA_VBAK INDEX FP_SELFIELD-TABINDEX. MOVE-CORRESPONDING WA_VBAK TO WA_SMART. WA_SMART-KDGRP = KD_GRP. CASE LV_FIELD_CLICKED. WHEN 'VBELN'. TSPOT) "WHEN USER CLICKS ON SALES DOCUMENT NUMBER FIELD (HO

DATA: WA_SOLD TYPE ZSOLDTO. SELECT SINGLE KUNNR NAME1 ORT01 FROM KNA1 INTO WA_SOLD WHERE KUNNR = LV_FIELD_VALUE. DATA : DATA1 TYPE TDSFNAME VALUE 'ZCASESTUDY1', DATA2 TYPE RS38L_ FNAM. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' "FM USED TO RETRIEVE SYS TEM GENERATED SMARTFORM FUNCTION NAME EXPORTING FORMNAME = DATA1 * VARIANT = ' ' * DIRECT_CALL = ' ' IMPORTING FM_NAME = DATA2 EXCEPTIONS NO_FORM = 1 NO_FUNCTION_MODULE = 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. CALL FUNCTION DATA2 "CALL FM GENERATED FOR SMARTFORM EXPORTING

VBELN_VALUE = LV_DATA WA_SMARTFORM = WA_SMART I_INTERFACE = I_TABLE WA_SOLDTO = WA_SOLD.

WHEN 'KUNNR'. "WHEN USER CLICKS ON CUSTOMER NUMBER FIELD (HOTSPOT) SELECT KUNNR NAME1 STRAS ORT01 REGIO PSTLZ TELF1 TELFX FROM KNA1 INTO TABLE IT_KNA1 WHERE KUNNR = LV_FIELD_VALUE. CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT' "FM USED TO CREATE POPU P AT RUN TIME EXPORTING * I_TITLE = * I_SELECTION = 'X' * I_ALLOW_NO_SELECTION = * I_ZEBRA = ' ' * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 * I_CHECKBOX_FIELDNAME = * I_LINEMARK_FIELDNAME = * I_SCROLL_TO_SEL_LINE = 'X' I_TABNAME = 'IT_KNA1' * I_STRUCTURE_NAME = IT_FIELDCAT = FIELDCATALOG_POP[] * IT_EXCLUDING = * I_CALLBACK_PROGRAM = * I_CALLBACK_USER_COMMAND = * IS_PRIVATE = * IMPORTING * ES_SELFIELD = * E_EXIT = TABLES T_OUTTAB = IT_KNA1 * EXCEPTIONS * PROGRAM_ERROR = 1 * OTHERS = 2 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDCASE.

* ENDFORM. "USER_COMMAND

When we press F8 we will get the following selection screen

Executing the above will take you to the below screen where
you will get the ALV display

Clicking on any sales document number will generate the SmartForm for the corresponding entry Here 1st entry is clicked

When you click on the customer number on ALV a pop up is displayed with the following fields

You might also like