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

Report coding

Former Member
0 Likes
739

How to Create an Interactive List based on the selection criteria specified for the customer number for displaying the customer information on the basic list, their corresponding order details on the secondary list. Plz specify the coding details.

plz mention the detail coding

Thanks,

Priya Ranjan

5 REPLIES 5
Read only

Former Member
0 Likes
703

TABLES DECLARATION

TABLES : KNA1, VBAK, VBAP.

*SELECT OPTIONS

SELECT-OPTIONS: CUST_NO FOR KNA1-KUNNR.

*INITIALIZATION

INITIALIZATION.

CUST_NO-LOW = '01'.

CUST_NO-HIGH = '5000'.

CUST_NO-SIGN = 'I'.

CUST_NO-OPTION = 'BT'.

APPEND CUST_NO.

*SELECTION SCREEN VALIDATION

AT SELECTION-SCREEN ON CUST_NO.

LOOP AT SCREEN.

IF CUST_NO-LOW <> 5000.

MESSAGE E001(ZTJ1).

ENDIF.

ENDLOOP.

*BASIC LIST SELECTION

START-OF-SELECTION.

SELECT KUNNR NAME1 ORT01 LAND1 INTO

(KNA1-KUNNR, KNA1-NAME1,KNA1-ORT01,KNA1-LAND1)

FROM KNA1

WHERE KUNNR IN CUST_NO.

WRITE:/1 SY-VLINE,

KNA1-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,

16 SY-VLINE,

KNA1-NAME1 UNDER 'NAME',

61 SY-VLINE,

KNA1-ORT01 UNDER 'CITY',

86 SY-VLINE,

KNA1-LAND1 UNDER 'COUNTRY',

103 SY-VLINE.

HIDE: KNA1-KUNNR.

ENDSELECT.

ULINE.

*SECONDARY LIST ACCESS

AT user-command.

IF SY-UCOMM = 'IONE'.

PERFORM SALES_ORD.

ENDIF.

IF SY-UCOMM = 'ITWO'.

PERFORM ITEM_DET.

ENDIF.

*TOP OF PAGE

TOP-OF-PAGE.

FORMAT COLOR 1.

WRITE : 'CUSTOMER DETAILS'.

FORMAT COLOR 1 OFF.

ULINE.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'CUSTOMER NO.',

16 SY-VLINE,

18 'NAME',

61 SY-VLINE,

63 'CITY',

86 SY-VLINE,

88 'COUNTRY',

103 SY-VLINE.

ULINE.

FORMAT COLOR 3 OFF.

*TOP OF PAGE FOR SECONDARY LISTS

TOP-OF-PAGE DURING LINE-SELECTION.

*TOP OF PAGE FOR 1ST SECONDARY LIST

IF SY-UCOMM = 'IONE'.

ULINE.

FORMAT COLOR 1.

WRITE : 'SALES ORDER DETAILS'.

ULINE.

FORMAT COLOR 1 OFF.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'CUSTOMER NO.',

16 SY-VLINE,

18 'SALES ORDER NO.',

40 SY-VLINE,

42 'DATE',

60 SY-VLINE,

62 'CREATOR',

85 SY-VLINE,

87 'DOC DATE',

103 SY-VLINE.

ULINE.

ENDIF.

FORMAT COLOR 3 OFF.

*TOP OF PAGE FOR 2ND SECONDARY LIST

IF SY-UCOMM = 'ITWO'.

ULINE.

FORMAT COLOR 1.

WRITE : 'ITEM DETAILS'.

ULINE.

FORMAT COLOR 1 OFF.

FORMAT COLOR 3.

WRITE : 1 SY-VLINE,

3 'SALES ORDER NO.',

40 SY-VLINE,

42 'SALES ITEM NO.',

60 SY-VLINE,

62 'ORDER QUANTITY',

103 SY-VLINE.

ULINE.

ENDIF.

FORMAT COLOR 3 OFF.

*END OF PAGE

END-OF-PAGE.

ULINE.

WRITE :'USER :',SY-UNAME,/,'DATE :', SY-DATUM, 85 'END OF PAGE:',

SY-PAGNO.

SKIP.

&----


*& Form SALES_ORD

*&

*& FIRST SECONDARY LIST FORM

&----


FORM SALES_ORD .

SELECT KUNNR VBELN ERDAT ERNAM AUDAT INTO

(VBAK-KUNNR, VBAK-VBELN, VBAK-ERDAT, VBAK-ERNAM, VBAK-AUDAT)

FROM VBAK

WHERE KUNNR = KNA1-KUNNR.

WRITE:/1 SY-VLINE,

VBAK-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,

16 SY-VLINE,

VBAK-VBELN UNDER 'SALES ORDER NO.' HOTSPOT ON,

40 SY-VLINE,

VBAK-ERDAT UNDER 'DATE',

60 SY-VLINE,

VBAK-ERNAM UNDER 'CREATOR',

85 SY-VLINE,

VBAK-AUDAT UNDER 'DOC DATE',

103 SY-VLINE.

HIDE : VBAK-VBELN.

ENDSELECT.

ULINE.

ENDFORM. " SALES_ORD

&----


*& Form ITEM_DET

*&

*& SECOND SECONDARY LIST FORM

&----


FORM ITEM_DET .

SELECT VBELN POSNR KWMENG INTO

(VBAP-VBELN, VBAP-POSNR, VBAP-KWMENG)

FROM VBAP

WHERE VBELN = VBAK-VBELN.

WRITE : /1 SY-VLINE,

VBAP-VBELN UNDER 'SALES ORDER NO.',

40 SY-VLINE,

VBAP-POSNR UNDER 'SALES ITEM NO.',

60 SY-VLINE,

VBAP-KWMENG UNDER 'ORDER QUANTITY',

103 SY-VLINE.

ENDSELECT.

ULINE.

ENDFORM. " ITEM_DET

************************************************************************

REPORT demo_list_at_pf.

START-OF-SELECTION.

WRITE 'Basic List, Press PF5, PF6, PF7, or PF8'.

AT pf5.

PERFORM out.

AT pf6.

PERFORM out.

AT pf7.

PERFORM out.

AT pf8.

PERFORM out.

FORM out.

WRITE: 'Secondary List by PF-Key Selection',

/ 'SY-LSIND =', sy-lsind,

/ 'SY-UCOMM =', sy-ucomm.

ENDFORM.

After executing the program, the system displays the basic list. The user can press the function keys F5 , F6 , F7 , and F8 to create secondary lists. If, for example, the 14th key the user presses is F6 , the output on the displayed secondary list looks as follows:

Secondary List by PF-Key Selection

SY-LSIND = 14

SY-UCOMM = PF06

Example for AT USER-COMMAND.

REPORT demo_list_at_user_command NO STANDARD PAGE HEADING.

START-OF-SELECTION.

WRITE: 'Basic List',

/ 'SY-LSIND:', sy-lsind.

TOP-OF-PAGE.

WRITE 'Top-of-Page'.

ULINE.

TOP-OF-PAGE DURING LINE-SELECTION.

CASE sy-pfkey.

WHEN 'TEST'.

WRITE 'Self-defined GUI for Function Codes'.

ULINE.

ENDCASE.

AT LINE-SELECTION.

SET PF-STATUS 'TEST' EXCLUDING 'PICK'.

PERFORM out.

sy-lsind = sy-lsind - 1.

AT USER-COMMAND.

CASE sy-ucomm.

WHEN 'FC1'.

PERFORM out.

WRITE / 'Button FUN 1 was pressed'.

WHEN 'FC2'.

PERFORM out.

WRITE / 'Button FUN 2 was pressed'.

WHEN 'FC3'.

PERFORM out.

WRITE / 'Button FUN 3 was pressed'.

WHEN 'FC4'.

PERFORM out.

WRITE / 'Button FUN 4 was pressed'.

WHEN 'FC5'.

PERFORM out.

WRITE / 'Button FUN 5 was pressed'.

ENDCASE.

sy-lsind = sy-lsind - 1.

FORM out.

WRITE: 'Secondary List',

/ 'SY-LSIND:', sy-lsind,

/ 'SY-PFKEY:', sy-pfkey.

ENDFORM.

Read only

prasanth_kasturi
Active Contributor
0 Likes
703

hi

try this code

TABLES : kna1,vbak,vbap.

  • Types Delclaration

TYPES : BEGIN OF ty_kna1,

kunnr LIKE kna1-kunnr,

name1 LIKE kna1-name1,

land1 LIKE kna1-land1,

END OF ty_kna1.

TYPES : BEGIN OF ty_vbak,

vbeln LIKE vbak-vbeln,

erdat LIKE vbak-erdat,

ernam LIKE vbak-ernam,

END OF ty_vbak.

TYPES : BEGIN OF ty_vbap,

posnr LIKE vbap-posnr,

matnr LIKE vbap-matnr,

netwr LIKE vbap-netwr,

END OF ty_vbap.

  • internal table declaration

DATA : it_kna1 TYPE TABLE OF ty_kna1,

wa_kna1 TYPE ty_kna1.

DATA : it_vbak TYPE TABLE OF ty_vbak,

wa_vbak TYPE ty_vbak.

DATA : it_vbap TYPE TABLE OF ty_vbap,

wa_vbap TYPE ty_vbap.

*data : v_fld(20) type c.

SELECT-OPTIONS : s_kunnr FOR kna1-kunnr DEFAULT 1000 TO 1002.

*set pf-status 'BASIC'.

  • slecting data for basic list(kna1)

SELECT kunnr name1 land1

FROM kna1

INTO TABLE it_kna1

WHERE kunnr IN s_kunnr.

  • writng the list

LOOP AT it_kna1 INTO wa_kna1.

WRITE 😕 wa_kna1-kunnr hotspot on,

wa_kna1-name1 hotspot on,

wa_kna1-land1 hotspot on.

HIDE wa_kna1-kunnr.

*get cursor field wa_kna1-kunnr value v_fld.

ENDLOOP.

AT LINE-SELECTION.

IF sy-lsind = 1.

  • slecting data for 1st secondary list(vbak)

SELECT vbeln erdat ernam

FROM vbak

INTO TABLE it_vbak

WHERE kunnr = wa_kna1-kunnr.

  • writng the list

LOOP AT it_vbak INTO wa_vbak.

WRITE 😕 wa_vbak-vbeln hotspot on,

wa_vbak-erdat hotspot on,

wa_vbak-ernam hotspot on.

HIDE wa_vbak-vbeln.

ENDLOOP.

ENDIF.

IF sy-lsind = 2.

  • slecting data for 2nd secondary list(vbap)

SELECT posnr matnr netwr

FROM vbap

INTO TABLE it_vbap

WHERE vbeln = wa_vbak-vbeln.

  • writng the list

LOOP AT it_vbap INTO wa_vbap.

WRITE 😕 wa_vbap-posnr,

wa_vbap-matnr,

wa_vbap-netwr.

ENDLOOP.

ENDIF.

reward if helpful

prasanth

Read only

Former Member
0 Likes
703

Us e this code

&----


*& Report Purpose: To Display Sales Order Header details and

*& Item Details on next list in ALV Grid Format. And

*& When Clicked on Sales DocumentNo call VA03 Transaction

*& When Clicked on MaterialNo call MM03 Transaction

*& When Clicked on Material Description call Web Browser

*& Author : Amith & Sachin.

*& Date : 26-10-2007

*& Request No :

&----


REPORT ZB3_AMIT_ALV_INTERACTIVE NO STANDARD PAGE HEADING line-SIZE 100

MESSAGE-ID zb3_msg.

*****************************************************************

*B E G I N O F T Y P E - P O O L S D E C L E R A T I O N *

*****************************************************************

TYPE-POOLS: SLIS. " Type-pools decleration for ALV.

*****************************************************************

*E N D O F T Y P E - P O O L S D E C L E R A T I O N *

*****************************************************************

CONSTANTS: c_MM03(4) type c value 'MM03', " Constant for MM03 Transaction

c_VA03(4) type c value 'VA03'. " Constant for VA03 Transaction

*****************************************************************

*B E G I N O F T Y P E S D E C L E R A T I O N *

*****************************************************************

TYPES: BEGIN OF TY_VBAK, "Decleration of Sales Order Header type

VBELN TYPE VBAK-VBELN, "Sales Document No

ERDAT TYPE VBAK-ERDAT, "Sales Document Created Date

ERNAM TYPE VBAK-ERNAM, "Sales Document Created By

NETWR TYPE VBAK-NETWR, "Sales Document Price

WAERK TYPE VBAK-WAERK, "Sales Document Currency

AUART TYPE VBAK-AUART, "Sales Document Type

END OF TY_VBAK. "End of Decleration of Sales Order Header

TYPES: BEGIN OF TY_VBAP, "Decleration of Sales Order Item type

VBELN TYPE VBAP-VBELN, "Sales Document No

POSNR TYPE VBAP-POSNR, "Sales Document Item No

MATNR TYPE VBAP-MATNR, "Sales Document Item Material No

NETWR TYPE VBAP-NETWR, "Sales Document Item Material Price

WAERK TYPE VBAP-WAERK, "Sales Document Item material Currency

END OF TY_VBAP. "End of Decleration of Sales Order Item

TYPES: BEGIN OF TY_MAKT, "Decleration of Material master type

MATNR TYPE MARA-MATNR, "Material Number

MAKTX TYPE MAKT-MAKTX, "Material Description

END OF TY_MAKT. "End of Decleration of Material master

TYPES: BEGIN OF TY_ITEM, "Decleration of Item Output Table type

VBELN TYPE VBAK-VBELN, "Sales Document No

POSNR TYPE VBAP-POSNR, "Sales Document Item No

MATNR TYPE VBAP-MATNR, "Sales Document Item Material No

NETWR TYPE VBAP-NETWR, "Sales Document Material Price

WAERK TYPE VBAP-WAERK, "Sales Document Item Currency

MAKTX TYPE MAKT-MAKTX, "Material Description

END OF TY_ITEM.

*****************************************************************

*E N D O F T Y P E S D E C L E R A T I O N *

*****************************************************************

**********************************************************************

B E G I N O F I N T E R N A L T A B L E S D E C L E R A T I O N

**********************************************************************

DATA: IT_VBAK TYPE STANDARD TABLE OF TY_VBAK, "INTERNAL TABLE TYPE TY_VBAK

IT_VBAP TYPE STANDARD TABLE OF TY_VBAP, "INTERNAL TABLE TYPE TY_VBAP

IT_MAKT TYPE STANDARD TABLE OF TY_MAKT, "INTERNAL TABLE TYPE TY_MAKT

IT_ITEM TYPE STANDARD TABLE OF TY_ITEM. "INTERNAL TABLE TYPE TY_ITEM

**********************************************************************

*E N D O F I N T E R N A L T A B L E S D E C L E R A T I O N *

**********************************************************************

****************************************************************************

B E G I N O F A L V I N T E R NA L T A B L E S D E C L E R A T I O N

****************************************************************************

DATA: IT_LAYOUT TYPE SLIS_LAYOUT_ALV, "Internal table for Field Layout

IT_FLDCAT TYPE SLIS_T_FIELDCAT_ALV, "Internal table for Field Catalogue

IT_EVENT TYPE SLIS_T_EVENT, "Internal table for Events

IT_COMMENT TYPE SLIS_T_LISTHEADER, "Internal table for Commentary Write

IT_FLDCAT1 TYPE SLIS_T_FIELDCAT_ALV,"Internal table for Item Field Catalogue

IT_COMMENT1 TYPE SLIS_T_LISTHEADER, "Internal table for Item Commentary Write

IT_EVENT1 TYPE SLIS_T_EVENT, "Internal table for Item Events

it_sort TYPE slis_t_sortinfo_alv.

****************************************************************************

*E N D O F A L V I N T E R NA L T A B L E S D E C L E R A T I O N *

****************************************************************************

****************************************************************************

  • B E G I N O F A L V W O R K A R E A D E C L E R A T I O N *

****************************************************************************

DATA: WA_FLDCAT TYPE SLIS_FIELDCAT_ALV, "Work area for Field Catalogue

WA_EVENT TYPE SLIS_ALV_EVENT, "Work area for Events

WA_COMMENT TYPE SLIS_LISTHEADER, "Work area for Commentary Write

WA_FLDCAT1 TYPE SLIS_FIELDCAT_ALV, "Work area for Item Field Catalogue

WA_COMMENT1 TYPE SLIS_LISTHEADER, "Work area for Item Commentary Write

WA_EVENT1 TYPE SLIS_ALV_EVENT, "Work area for Item Events

wa_sort TYPE slis_sortinfo_alv,

wa_layout type SLIS_LAYOUT_ALV,

wa_variant type DISVARIANT,

wa_variant1 type DISVARIANT,

RS_SELFLD TYPE SLIS_SELFIELD, "Work area for Selection Field

RS_SELFLD1 TYPE SLIS_SELFIELD. "Work area for Item Selection Field

****************************************************************************

  • E N D O F A L V W O R K A R E A D E C L E R A T I O N *

****************************************************************************

DATA: V_VBELN TYPE VBAK-VBELN, " Work area for select options

V_AUART TYPE VBAK-AUART, " Work area for select options

R_UCOMM TYPE SY-UCOMM, " Variable for User-Command

R_UCOMM1 TYPE SY-UCOMM, " Variable for Item User-Command

p_var1 type DISVARIANT.

**********************************************************************

*E N D O F I N T E R N A L T A B L E S D E C L E R A T I O N *

**********************************************************************

*****************************************************************

*B E G I N O F W O R K A R E A D E C L E R A T I O N *

*****************************************************************

DATA: WA_VBAK TYPE TY_VBAK, " Work Area for VBAK

WA_VBAP TYPE TY_VBAP, " Work Area for VBAP

WA_MAKT TYPE TY_MAKT, " Work Area for MAKT

WA_ITEM TYPE TY_ITEM. " Work Area for Item table

*****************************************************************

  • E N D O F W O R K A R E A D E C L E R A T I O N *

*****************************************************************

*****************************************************************

  • B E G I N O F 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-001.

SELECT-OPTIONS: S_VBELN FOR V_VBELN, "Selection criteria for Sales Document No

S_AUART FOR V_AUART NO INTERVALS. "Selection criteria for Sales Document type

parameters: p_var type disvariant-variant.

SELECTION-SCREEN END OF BLOCK B1.

*****************************************************************

  • E N D O F S E L E C T I O N - S C R E E N *

*****************************************************************

*****************************************************************

  • Start of Initilization *

*****************************************************************

INITIALIZATION.

S_AUART-LOW = 'OR'. "Default Sales Document type

S_AUART-OPTION = 'EQ'.

S_AUART-SIGN = 'I'.

APPEND S_AUART.

*****************************************************************

  • End of Initilization *

*****************************************************************

*****************************************************************

  • Begin of At selection-screen event *

*****************************************************************

AT SELECTION-SCREEN.

PERFORM AT_SELECTION_SCREEN.

wa_variant1-report = sy-cprog.

wa_variant1-variant = p_var.

CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'

  • EXPORTING

  • I_SAVE = ' '

CHANGING

CS_VARIANT = wa_variant1

EXCEPTIONS

WRONG_INPUT = 1

NOT_FOUND = 2

PROGRAM_ERROR = 3

OTHERS = 4

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

AT SELECTION-SCREEN ON S_AUART. "Checking User Entry For Sales Document type

IF S_AUART[] IS INITIAL.

MESSAGE E001 WITH 'Please Enter Sales Document Type'(004).

ENDIF.

at selection-screen on value-request for p_var.

wa_variant-report = sy-cprog.

CALL FUNCTION 'REUSE_ALV_VARIANT_F4'

EXPORTING

IS_VARIANT = wa_variant

  • I_TABNAME_HEADER =

  • I_TABNAME_ITEM =

  • IT_DEFAULT_FIELDCAT =

I_SAVE = 'A'

  • I_DISPLAY_VIA_GRID = ' '

IMPORTING

  • E_EXIT =

ES_VARIANT = p_var1

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.

ENDIF.

p_var = p_var1-variant.

*****************************************************************

  • End of At selection-screen event *

*****************************************************************

*****************************************************************

  • B E G I N O F S T A R T - O F - S E L E C T I O N *

*****************************************************************

START-OF-SELECTION.

PERFORM GET_VBAK_DATA. " Gettin Data from VBAK Table

PERFORM BUILD_FIELDCAT. " Populating Field Catalogue

PERFORM GET_EVENTS. " Populating Events

*****************************************************************

  • E N D O F S T A R T - O F - S E L E C T I O N *

*****************************************************************

*****************************************************************

  • B E G I N O F E N D - O F - S E L E C T I O N *

*****************************************************************

END-OF-SELECTION.

PERFORM DISPLAY_BASIC. " Displaying Basic List

*****************************************************************

  • E N D O F E N D - O F - S E L E C T I O N *

*****************************************************************

&----


*& Form get_vbak_data

&----


*& Form for Selecting VBAK Data

&----


FORM GET_VBAK_DATA .

SELECT VBELN

ERDAT

ERNAM

NETWR

WAERK

AUART FROM VBAK INTO TABLE IT_VBAK

WHERE VBELN IN S_VBELN

AND AUART IN S_AUART.

sort it_vbak. " Sorting table

ENDFORM. " get_vbak_data

&----


*& Form build_fieldcat

&----


  • Form for Building Basic Field Catalogue

----


FORM BUILD_FIELDCAT .

WA_FLDCAT-FIELDNAME = 'VBELN'.

WA_FLDCAT-COL_POS = 1.

WA_FLDCAT-TABNAME = 'IT_VBAK'.

WA_FLDCAT-REF_FIELDNAME = 'VBELN'.

WA_FLDCAT-REF_TABNAME = 'VBAK'.

WA_FLDCAT-HOTSPOT = 'X'.

WA_FLDCAT-KEY = 'X'.

APPEND WA_FLDCAT TO IT_FLDCAT.

CLEAR WA_FLDCAT.

WA_FLDCAT-FIELDNAME = 'ERDAT'.

WA_FLDCAT-COL_POS = 2.

WA_FLDCAT-TABNAME = 'IT_VBAK'.

WA_FLDCAT-REF_FIELDNAME = 'ERDAT'.

WA_FLDCAT-REF_TABNAME = 'VBAK'.

APPEND WA_FLDCAT TO IT_FLDCAT.

CLEAR WA_FLDCAT.

WA_FLDCAT-FIELDNAME = 'ERNAM'.

WA_FLDCAT-COL_POS = 3.

WA_FLDCAT-TABNAME = 'IT_VBAK'.

WA_FLDCAT-REF_FIELDNAME = 'ERNAM'.

WA_FLDCAT-REF_TABNAME = 'VBAK'.

APPEND WA_FLDCAT TO IT_FLDCAT.

CLEAR WA_FLDCAT.

WA_FLDCAT-FIELDNAME = 'NETWR'.

WA_FLDCAT-COL_POS = 4.

WA_FLDCAT-TABNAME = 'IT_VBAK'.

WA_FLDCAT-REF_FIELDNAME = 'NETWR'.

WA_FLDCAT-REF_TABNAME = 'VBAK'.

APPEND WA_FLDCAT TO IT_FLDCAT.

CLEAR WA_FLDCAT.

WA_FLDCAT-FIELDNAME = 'WAERK'.

WA_FLDCAT-COL_POS = 5.

WA_FLDCAT-TABNAME = 'IT_VBAK'.

WA_FLDCAT-REF_FIELDNAME = 'WAERK'.

WA_FLDCAT-REF_TABNAME = 'VBAK'.

APPEND WA_FLDCAT TO IT_FLDCAT.

CLEAR WA_FLDCAT.

WA_FLDCAT-FIELDNAME = 'AUART'.

WA_FLDCAT-COL_POS = 6.

WA_FLDCAT-TABNAME = 'IT_VBAK'.

WA_FLDCAT-REF_FIELDNAME = 'AUART'.

WA_FLDCAT-REF_TABNAME = 'VBAK'.

APPEND WA_FLDCAT TO IT_FLDCAT.

CLEAR WA_FLDCAT.

ENDFORM. " build_fieldcat

&----


*& Form DISPLAY_BASIC

&----


  • Form for Displaying Basic List

----


FORM DISPLAY_BASIC .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = SY-CPROG

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

  • 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 = 'Sales Document Details'

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = IT_FLDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

I_SAVE = 'A'

IS_VARIANT = p_var1

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.

ENDFORM. " DISPLAY_BASIC

&----


*& Form GET_EVENTS

&----


  • Form for Populating Events for Basic List

----


FORM GET_EVENTS .

WA_EVENT-NAME = 'TOP_OF_PAGE'.

WA_EVENT-FORM = 'SUB_TOP' .

APPEND WA_EVENT TO IT_EVENT.

CLEAR WA_EVENT.

WA_EVENT-NAME = 'USER_COMMAND'.

WA_EVENT-FORM = 'SUB_UCOMM' .

APPEND WA_EVENT TO IT_EVENT.

CLEAR WA_EVENT.

ENDFORM. " GET_EVENTS

&----


*& Form SUB_TOP

&----


  • Form for Populating Comments for Basic List

----


FORM SUB_TOP.

REFRESH IT_COMMENT.

WA_COMMENT-TYP = 'H'.

WA_COMMENT-INFO = 'SALES DOCUMENT HEADER INFORMATION'.

APPEND WA_COMMENT TO IT_COMMENT.

CLEAR WA_COMMENT.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IT_COMMENT

I_LOGO = 'ENJOYSAP_LOGO'.

.

ENDFORM. "SUB_TOP

&----


*& Form SUB_UCOMM

&----


  • Form for User-Command and Populating Item Table

----


  • -->R_UCOMM User-command Parameter

  • -->RS_SELFLD Selection Field Parameter

----


FORM SUB_UCOMM USING R_UCOMM TYPE SY-UCOMM

RS_SELFLD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN '&IC1'.

PERFORM POPULTE_ITEM USING RS_SELFLD. " Populating Item Internal table

PERFORM GET_EVENT_ITEM. " Populating Item Event Internal table

PERFORM BUILD_FLDCAT_ITEM. " Building Item Field Catalogue

PERFORM POPULATE_SORT.

perform populate_latout.

clear wa_variant.

clear wa_variant1.

PERFORM DISPLAY_ITEM. " Display Item Details

refresh: it_item,

it_fldcat1.

ENDCASE.

ENDFORM. "SUB_UCOMM

&----


*& Form POPULTE_ITEM

&----


  • Form for Populating Item Table

----


  • -->RS_SELFLD Selection Field Parameter

----


FORM POPULTE_ITEM USING RS_SELFLD TYPE SLIS_SELFIELD.

READ TABLE IT_VBAK INTO WA_VBAK INDEX RS_SELFLD-TABINDEX.

SELECT VBELN

POSNR

MATNR

NETWR

WAERK FROM VBAP INTO TABLE IT_VBAP

WHERE VBELN EQ WA_VBAK-VBELN.

IF IT_VBAP[] IS NOT INITIAL.

SELECT MATNR

MAKTX

FROM MAKT INTO TABLE IT_MAKT

FOR ALL ENTRIES IN IT_VBAP

WHERE MATNR EQ IT_VBAP-MATNR

AND SPRAS = 'EN'.

ENDIF.

LOOP AT IT_VBAP INTO WA_VBAP.

WA_ITEM-VBELN = WA_VBAP-VBELN.

WA_ITEM-POSNR = WA_VBAP-POSNR.

WA_ITEM-MATNR = WA_VBAP-MATNR.

WA_ITEM-NETWR = WA_VBAP-NETWR.

WA_ITEM-WAERK = WA_VBAP-WAERK.

READ TABLE IT_MAKT INTO WA_MAKT

WITH KEY MATNR = WA_VBAP-MATNR BINARY SEARCH.

IF SY-SUBRC EQ 0.

WA_ITEM-MAKTX = WA_MAKT-MAKTX.

ENDIF.

APPEND WA_ITEM TO IT_ITEM.

CLEAR WA_ITEM.

ENDLOOP.

ENDFORM. " POPULTE_ITEM

&----


*& Form BUILD_FLDCAT_ITEM

&----


  • Form for Building Item Field Catalogue

----


FORM BUILD_FLDCAT_ITEM .

WA_FLDCAT1-FIELDNAME = 'VBELN'.

WA_FLDCAT1-COL_POS = 1.

WA_FLDCAT1-TABNAME = 'IT_ITEM'.

WA_FLDCAT1-REF_FIELDNAME = 'VBELN'.

WA_FLDCAT1-REF_TABNAME = 'VBAK'.

APPEND WA_FLDCAT1 TO IT_FLDCAT1.

CLEAR WA_FLDCAT1.

WA_FLDCAT1-FIELDNAME = 'POSNR'.

WA_FLDCAT1-COL_POS = 2.

WA_FLDCAT1-TABNAME = 'IT_ITEM'.

WA_FLDCAT1-REF_FIELDNAME = 'POSNR'.

WA_FLDCAT1-REF_TABNAME = 'VBAP'.

APPEND WA_FLDCAT1 TO IT_FLDCAT1.

CLEAR WA_FLDCAT1.

WA_FLDCAT1-FIELDNAME = 'MATNR'.

WA_FLDCAT1-COL_POS = 3.

WA_FLDCAT1-TABNAME = 'IT_ITEM'.

WA_FLDCAT1-REF_FIELDNAME = 'MATNR'.

WA_FLDCAT1-REF_TABNAME = 'MARA'.

APPEND WA_FLDCAT1 TO IT_FLDCAT1.

CLEAR WA_FLDCAT1.

WA_FLDCAT1-FIELDNAME = 'NETWR'.

WA_FLDCAT1-COL_POS = 4.

WA_FLDCAT1-TABNAME = 'IT_ITEM'.

WA_FLDCAT1-REF_FIELDNAME = 'NETWR'.

WA_FLDCAT1-REF_TABNAME = 'VBAP'.

WA_FLDCAT1-do_sum = 'X'.

  • WA_FLDCAT1-no_sum = 'X'.

WA_FLDCAT1-currency = 'NETWR'.

APPEND WA_FLDCAT1 TO IT_FLDCAT1.

CLEAR WA_FLDCAT1.

WA_FLDCAT1-FIELDNAME = 'WAERK'.

WA_FLDCAT1-COL_POS = 5.

WA_FLDCAT1-TABNAME = 'IT_ITEM'.

WA_FLDCAT1-REF_FIELDNAME = 'WAERK'.

WA_FLDCAT1-REF_TABNAME = 'VBAP'.

WA_FLDCAT1-no_out = 'X'.

APPEND WA_FLDCAT1 TO IT_FLDCAT1.

CLEAR WA_FLDCAT1.

WA_FLDCAT1-FIELDNAME = 'MAKTX'.

WA_FLDCAT1-COL_POS = 6.

WA_FLDCAT1-TABNAME = 'IT_ITEM'.

WA_FLDCAT1-REF_FIELDNAME = 'MAKTX'.

WA_FLDCAT1-REF_TABNAME = 'MAKT'.

APPEND WA_FLDCAT1 TO IT_FLDCAT1.

CLEAR WA_FLDCAT1.

ENDFORM. " BUILD_FLDCAT_ITEM

&----


*& Form get_event_item

&----


  • Form for Populating Item Events

----


FORM GET_EVENT_ITEM .

WA_EVENT1-NAME = 'TOP_OF_PAGE'.

WA_EVENT1-FORM = 'SUB_TOP_ITEM' .

APPEND WA_EVENT1 TO IT_EVENT1.

CLEAR WA_EVENT1.

WA_EVENT1-NAME = 'USER_COMMAND'.

WA_EVENT1-FORM = 'SUB_UCOMM_ITEM' .

APPEND WA_EVENT1 TO IT_EVENT1.

CLEAR WA_EVENT1.

ENDFORM. " get_event_item

&----


*& Form SUB_TOP_ITEM

&----


  • Form for Writing Item Header

----


FORM SUB_TOP_ITEM.

REFRESH IT_COMMENT1.

WA_COMMENT1-TYP = 'H'.

WA_COMMENT1-INFO = 'SALES DOCUMENT ITEM INFORMATION'.

APPEND WA_COMMENT1 TO IT_COMMENT1.

CLEAR WA_COMMENT1.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = IT_COMMENT1

  • I_LOGO =

  • I_END_OF_LIST_GRID =

  • I_ALV_FORM =

.

ENDFORM. "SUB_TOP_ITEM

&----


*& Form DISPLAY_ITEM

&----


  • Form For Displaying Item List

----


FORM DISPLAY_ITEM .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = SY-CPROG

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

  • 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 =

  • I_GRID_SETTINGS =

IS_LAYOUT = wa_layout

IT_FIELDCAT = IT_FLDCAT1

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = it_sort

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

I_SAVE = ''

  • IS_VARIANT =

IT_EVENTS = IT_EVENT1

  • 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_ITEM

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_ITEM

&----


*& Form SUB_UCOMM_ITEM

&----


  • Form For Item User-Command

----


  • -->R_UCOMM1 User-Command Parameter

  • -->RS_SELFLD1 Selection Filed Parameter

----


FORM SUB_UCOMM_ITEM USING R_UCOMM1 TYPE SY-UCOMM

RS_SELFLD1 TYPE SLIS_SELFIELD.

CASE RS_SELFLD1-FIELDNAME.

WHEN 'VBELN'.

SET PARAMETER ID 'AUN' FIELD RS_SELFLD1-VALUE.

CALL TRANSACTION C_VA03 AND SKIP FIRST SCREEN.

CLEAR RS_SELFLD1.

WHEN 'MATNR'.

SET PARAMETER ID 'MAT' FIELD RS_SELFLD1-VALUE.

CALL TRANSACTION C_MM03 AND SKIP FIRST SCREEN.

CLEAR RS_SELFLD1.

WHEN 'MAKTX'.

CALL FUNCTION 'CALL_BROWSER'

EXPORTING

URL = 'WWW.RELIANCEGLOBAL.COM'

  • WINDOW_NAME = ' '

  • NEW_WINDOW = ' '

  • BROWSER_TYPE =

  • CONTEXTSTRING =

EXCEPTIONS

FRONTEND_NOT_SUPPORTED = 1

FRONTEND_ERROR = 2

PROG_NOT_FOUND = 3

NO_BATCH = 4

UNSPECIFIED_ERROR = 5

OTHERS = 6

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

WHEN OTHERS.

MESSAGE 'Select correct field' TYPE 'I'.

ENDCASE.

ENDFORM. "SUB_UCOMM_ITEM

&----


*& Form AT_SELECTION_SCREEN

&----


  • Form for Validating Selection Screen

----


FORM AT_SELECTION_SCREEN .

SELECT SINGLE VBELN FROM VBAK INTO V_VBELN "selecting the available records

WHERE VBELN IN S_VBELN. "in the database

*Cheking if user enters any records which are not in database

IF SY-SUBRC NE 0. "If user enters wrong selection

MESSAGE E001 WITH 'Sales Document No Does not Exist'(001). "Giving error message from zb3_msg messageclass

ENDIF.

IF S_VBELN[] IS INITIAL.

MESSAGE E001 WITH 'Please Enter Sales Document Number'(002).

ENDIF.

IF S_VBELN-HIGH CN '1234567890 '.

MESSAGE E001 WITH 'Please enter Correct Sales Document'(003).

ENDIF.

ENDFORM. " AT_SELECTION_SCREEN

&----


*& Form POPULATE_SORT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form POPULATE_SORT .

WA_SORT-fieldname = 'VBELN'.

WA_SORT-TABNAME = 'IT_ITEM'.

WA_SORT-UP = 'UP'.

APPEND WA_SORT TO IT_SORT.

CLEAR WA_SORT.

WA_SORT-fieldname = 'MATNR'.

WA_SORT-TABNAME = 'IT_ITEM'.

WA_SORT-UP = 'UP'.

APPEND WA_SORT TO IT_SORT.

CLEAR WA_SORT.

endform. " POPULATE_SORT

&----


*& Form populate_latout

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM populate_latout .

wa_layout-zebra = 'X'.

wa_layout-NO_HOTSPOT = 'X'.

ENDFORM. " populate_latout

Reward if helpful

cheers

Amith

Read only

Former Member
0 Likes
703

&----


*& Report Z_INTERACTIVE *

*& *

&----


*& *

*& *

&----


REPORT Z_INTERACTIVE no standard page heading line-count 200 message-id zp.

TABLES: MARA, MAKT, MARC, MARD,T001W.

DATA: BEGIN OF IT_MARA_MAKT_MARD OCCURS 0,

MATNR LIKE MARA-MATNR,

MTART LIKE MARA-MTART,

MEINS LIKE MARA-MEINS,

MAKTX LIKE MAKT-MAKTX,

LABST LIKE MARD-LABST,

END OF IT_MARA_MAKT_MARD.

DATA: BEGIN OF IT_MARC_MARD1 OCCURS 0,

WERKS LIKE MARC-WERKS,

LABST LIKE MARD-LABST,

NAME1 LIKE T001W-NAME1,

END OF IT_MARC_MARD1.

DATA: BEGIN OF IT_MARC_MARD OCCURS 0,

LGORT LIKE MARD-LGORT,

LABST LIKE MARD-LABST,

END OF IT_MARC_MARD.

SELECT-OPTIONS: s_matnr FOR MARA-MATNR.

AT SELECTION-SCREEN.

REFRESH IT_MARA_MAKT_MARD.

SELECT MATNR MTART MEINS INTO CORRESPONDING FIELDS OF IT_MARA_MAKT_MARD FROM MARA WHERE MATNR IN s_matnr.

SELECT SINGLE MAKTX INTO IT_MARA_MAKT_MARD-MAKTX FROM MAKT WHERE MATNR = IT_MARA_MAKT_MARD-MATNR.

SELECT SUM( LABST ) INTO IT_MARA_MAKT_MARD-LABST FROM MARD WHERE MATNR = IT_MARA_MAKT_MARD-MATNR.

APPEND IT_MARA_MAKT_MARD.

CLEAR IT_MARA_MAKT_MARD.

ENDSELECT.

IF SY-SUBRC 0.

MESSAGE I008.

ENDIF.

START-OF-SELECTION.

SORT IT_MARA_MAKT_MARD.

WRITE:/ 'MATERIAL NUMBER' COLOR 2, 20 'DESCRIPTION' COLOR 2, 50 'TYPE' COLOR 2, 70 'UOM' COLOR 2, 100 'STOCK' COLOR 2.

ULINE.

SKIP 4.

LOOP AT IT_MARA_MAKT_MARD.

WRITE:/ IT_MARA_MAKT_MARD-MATNR, 20 IT_MARA_MAKT_MARD-MAKTX, 50 IT_MARA_MAKT_MARD-MTART, 70 IT_MARA_MAKT_MARD-MEINS, 90 IT_MARA_MAKT_MARD-LABST.

HIDE: IT_MARA_MAKT_MARD-MATNR, IT_MARA_MAKT_MARD-MAKTX, IT_MARA_MAKT_MARD-MTART, IT_MARA_MAKT_MARD-MEINS, IT_MARA_MAKT_MARD-LABST.

ENDLOOP.

**********************************************************************************************************************************

AT LINE-SELECTION.

CASE: SY-LSIND.

WHEN 1.

WINDOW STARTING AT 1 20 ENDING AT 120 120.

REFRESH IT_MARC_MARD1.

CLEAR IT_MARC_MARD1.

SELECT pWERKS QNAME1 INTO CORRESPONDING FIELDS OF IT_MARC_MARD1 FROM MARC AS p INNER JOIN T001W AS q ON pWERKS = qWERKS WHERE p~MATNR = IT_MARA_MAKT_MARD-MATNR.

SELECT SUM( LABST ) INTO IT_MARC_MARD1-LABST FROM MARD WHERE MATNR = IT_MARA_MAKT_MARD-MATNR AND WERKS = IT_MARC_MARD1-WERKS.

APPEND IT_MARC_MARD1.

CLEAR IT_MARC_MARD1.

ENDSELECT.

SORT IT_MARC_MARD1.

WRITE:/ 'MATERIAL NUMBER' COLOR 3.

WRITE: IT_MARA_MAKT_MARD-MATNR COLOR 4.

WRITE:/ 'DESCRIPTION' COLOR 3.

WRITE: IT_MARA_MAKT_MARD-MAKTX COLOR 4.

WRITE:/ 'TYPE' COLOR 3.

WRITE: IT_MARA_MAKT_MARD-MTART COLOR 4.

WRITE:/ 'UNIT OF MEASUREMENT' COLOR 3.

WRITE: IT_MARA_MAKT_MARD-MEINS COLOR 4.

WRITE:/ 'MATERIAL QUANTITY' COLOR 3.

WRITE: IT_MARA_MAKT_MARD-LABST COLOR 4.

ULINE.

SKIP 4.

WRITE:/ 'PLANT CODE' COLOR 2, 20 'PLANT NAME' COLOR 2, 60 'STOCK' COLOR 2.

LOOP AT IT_MARC_MARD1.

WRITE:/ IT_MARC_MARD1-WERKS COLOR 4, 20 IT_MARC_MARD1-NAME1 COLOR 4, 41 IT_MARC_MARD1-LABST.

HIDE: IT_MARC_MARD1-WERKS.

HIDE: IT_MARA_MAKT_MARD-MATNR, IT_MARA_MAKT_MARD-MAKTX, IT_MARA_MAKT_MARD-MTART, IT_MARA_MAKT_MARD-MEINS, IT_MARA_MAKT_MARD-LABST.

AT LAST.

SUM.

WRITE:/30 'TOTAL STOCK', 60 IT_MARC_MARD1-LABST.

ENDAT.

ENDLOOP.

WHEN 2.

WINDOW STARTING AT 1 20 ENDING AT 120 120.

REFRESH IT_MARC_MARD.

CLEAR IT_MARC_MARD.

SELECT LGORT LABST INTO CORRESPONDING FIELDS OF IT_MARC_MARD FROM MARD WHERE MATNR = IT_MARA_MAKT_MARD-MATNR AND WERKS = IT_MARC_MARD1-WERKS.

APPEND IT_MARC_MARD.

CLEAR IT_MARC_MARD.

ENDSELECT.

SORT IT_MARC_MARD.

WRITE:/ 'MATERIAL NUMBER' COLOR 3.

WRITE: IT_MARA_MAKT_MARD-MATNR COLOR 4.

SKIP 1.

WRITE:/ 'DESCRIPTION' COLOR 3.

WRITE: IT_MARA_MAKT_MARD-MAKTX COLOR 4.

SKIP 1.

WRITE:/ 'TYPE' COLOR 3.

WRITE: IT_MARA_MAKT_MARD-MTART COLOR 4.

SKIP 1.

WRITE:/ 'UNIT OF MEASUREMENT' COLOR 3.

WRITE: IT_MARA_MAKT_MARD-MEINS COLOR 4.

SKIP 1.

WRITE:/ 'MATERIAL QUANTITY' COLOR 3.

WRITE: IT_MARA_MAKT_MARD-LABST COLOR 4.

SKIP 1.

ULINE.

SKIP 1.

WRITE:/ 'PLANT CODE' COLOR 2, 40 'PLANT NAME' COLOR 2.

WRITE:/ IT_MARC_MARD1-WERKS, 40 IT_MARC_MARD1-NAME1.

SKIP 3.

ULINE.

WRITE:/20 'STORAGE LOCATION' COLOR 5, 50 'STOCK' COLOR 5.

SKIP 4.

LOOP AT IT_MARC_MARD.

WRITE:/20 IT_MARC_MARD-LGORT, 50 IT_MARC_MARD-LABST.

AT LAST.

SUM.

WRITE:/30 'TOTAL STOCK', 60 IT_MARC_MARD-LABST.

ENDAT.

ENDLOOP.

WHEN OTHERS.

WINDOW STARTING AT 1 20 ENDING AT 20 50.

WRITE:/40 'SORRY'.

ENDCASE.

***********************************************************************

************************************************************************

TOP-OF-PAGE.

WRITE:/ 'XYZ LIMITED' COLOR 2, 90 'DATE:' COLOR 2, SY-DATUM.

ULINE.

ULINE.

************************************************************************

TOP-OF-PAGE DURING LINE-SELECTION.

WRITE:/ 'XYZ LIMITED' COLOR 2, 90 'DATE:' COLOR 2, SY-DATUM.

ULINE.

Read only

Former Member
0 Likes
703

Hi

TYPES : BEGIN OF st_kna1,

kunnr TYPE kna1-kunnr, "CUSTOMER NUMBER

name1 TYPE kna1-name1, "CUSTOMER NAME

END OF st_kna1.

TYPES : BEGIN OF st_vbak,

kunnr TYPE kna1-kunnr,

vbeln TYPE vbak-vbeln, "SALES DOCUMENT NUMBER

erdat TYPE vbak-erdat, "DATE ON WHICH THE RECORD WAS CREATED

audat TYPE vbak-audat, "DOCUMENT DATE

auart TYPE vbak-auart, "SALES DOCUMENT TYPE

ernam TYPE vbak-ernam, "NAME OF PERSON WHO CREATED THE OBJECT.

augru TYPE vbak-augru, "ORDER REASON

END OF st_vbak.

TYPES : BEGIN OF st_vbap,

vbeln TYPE vbak-vbeln,

posnr TYPE vbap-posnr, "SALES DOCUMENT ITEM

matnr TYPE vbap-matnr, "MATERIAL NUMBER

charg TYPE vbap-charg, "BATCH NUMBER

matkl TYPE vbap-matkl, "MATERIAL GROUP

posar TYPE vbap-posar, "ITEM TYPE

END OF st_vbap.

DATA : it_kna1 TYPE STANDARD TABLE OF st_kna1,

it_vbak TYPE STANDARD TABLE OF st_vbak,

it_vbap TYPE STANDARD TABLE OF st_vbap,

wa_kna1 TYPE st_kna1,

wa_vbak TYPE st_vbak,

wa_vbap TYPE st_vbap.

DATA : v_fld(15),

v_kunnr TYPE kna1-kunnr,

v_vbeln TYPE vbak-vbeln.

----


  • SELECT-OPTIONS

  • PARAMETERS

----


SELECT-OPTIONS so_kunnr FOR v_kunnr. "CUSTOMER NUMBER

PARAMETERS : p_max TYPE i. "NUMBER OF HITS

----


  • START-OF-SELECTION

----


START-OF-SELECTION.

PERFORM get_customerdata.

SET PF-STATUS 'MENU1'.

----


  • AT LINE-SELECTION

----


AT LINE-SELECTION.

IF sy-lsind = 1.

PERFORM get_salesheader.

ELSEIF sy-lsind = 2.

PERFORM get_salesitemdata.

ENDIF.

----


  • AT USER-COMMAND

----


AT USER-COMMAND.

CASE sy-ucomm.

WHEN 'DISP'.

PERFORM get_salesheader.

WHEN 'ITEM'.

PERFORM get_salesitemdata.

WHEN 'VA03'.

SET PARAMETER ID 'AUN' FIELD wa_vbak-vbeln.

CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.

ENDCASE.

----


  • TOP-OF-PAGE

----


TOP-OF-PAGE.

ULINE AT /1(56).

WRITE : /1 sy-vline ,

2(15) text-004 COLOR 1 ,

sy-vline ,

20(35) text-005 COLOR 1 ,

sy-vline.

ULINE AT /1(56).

----


  • TOP-OF-PAGE DURING LINE-SELECTION.

----


TOP-OF-PAGE DURING LINE-SELECTION.

CASE sy-lsind.

WHEN 1.

PERFORM get_topofpage1.

WHEN 2.

PERFORM get_topofpage2.

ENDCASE.

----


  • FORM GET_CUSTOMERDATA

----


FORM get_customerdata.

SELECT kunnr name1

FROM kna1

INTO TABLE it_kna1

UP TO p_max ROWS

WHERE kunnr IN so_kunnr.

IF sy-subrc EQ 0.

LOOP AT it_kna1 INTO wa_kna1.

WRITE : / sy-vline,

2(15) wa_kna1-kunnr ,

sy-vline ,

20 wa_kna1-name1,

sy-vline.

HIDE : wa_kna1-kunnr , wa_kna1-name1.

CLEAR wa_kna1.

ENDLOOP.

ULINE AT : /1(56).

ELSE.

MESSAGE w000(z50871msg).

ENDIF.

ENDFORM. "GET_CUSTOMERDATA

----


  • FORM GET_SALESHEADER

----


FORM get_salesheader.

SET PF-STATUS 'MENU2'.

GET CURSOR FIELD v_fld VALUE v_kunnr.

IF v_fld = 'WA_KNA1-KUNNR'.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = v_kunnr

IMPORTING

output = v_kunnr.

SELECT kunnr vbeln erdat audat auart ernam augru

FROM vbak

INTO TABLE it_vbak

WHERE kunnr = v_kunnr.

IF sy-subrc EQ 0.

LOOP AT it_vbak INTO wa_vbak.

WRITE : / sy-vline ,

2(22) wa_vbak-vbeln ,

sy-vline,

27(25) wa_vbak-erdat ,

sy-vline ,

55(15) wa_vbak-audat ,

sy-vline ,

73(15) wa_vbak-auart ,

sy-vline,

91(16) wa_vbak-ernam ,

sy-vline,

109(13) wa_vbak-augru,

123 sy-vline.

HIDE : wa_vbak-vbeln.

CLEAR wa_vbak.

ENDLOOP.

ULINE AT : /1(123).

ELSE.

MESSAGE i015(z50871msg).

ENDIF.

ELSE.

MESSAGE i013(z50871msg).

ENDIF.

ENDFORM. "GET_SALESHEADER

----


  • FORM GET_SALESITEMDATA

----


FORM get_salesitemdata.

SET PF-STATUS space.

GET CURSOR FIELD v_fld VALUE v_vbeln.

IF v_fld = 'WA_VBAK-VBELN'.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = v_vbeln

IMPORTING

output = v_vbeln.

SELECT vbeln posnr matnr charg matkl posar

FROM vbap

INTO TABLE it_vbap

WHERE vbeln = v_vbeln.

LOOP AT it_vbap INTO wa_vbap.

WRITE : /1 sy-vline,

2(13) wa_vbap-posnr ,

sy-vline,

18(18) wa_vbap-matnr ,

sy-vline,

40(13) wa_vbap-charg ,

sy-vline,

56(16) wa_vbap-matkl ,

sy-vline,

75 wa_vbap-posar,

112 sy-vline.

CLEAR wa_vbap.

ENDLOOP.

ULINE AT : /1(112).

ELSE.

MESSAGE i014(z50871msg).

ENDIF.

ENDFORM. "GET_SALESITEMDATA

----


  • FORM GET_TOPOFPAGE1

----


FORM get_topofpage1.

ULINE AT : /1(123).

WRITE : / sy-vline ,

2 text-000 ,

wa_kna1-kunnr ,

75 text-001 ,

wa_kna1-name1,

123 sy-vline.

ULINE AT : /1(123).

WRITE : / sy-vline ,

2(22) text-006 COLOR 1,

sy-vline,

27(25) text-007 COLOR 1 ,

sy-vline ,

55(15) text-008 COLOR 1 ,

sy-vline ,

73(15) text-009 COLOR 1 ,

sy-vline,

91(16) text-010 COLOR 1 ,

sy-vline,

109(13) text-011 COLOR 1,

123 sy-vline.

ULINE AT : /1(123).

ENDFORM. "GET_TOPOFPAGE1

----


  • FORM GET_TOPOFPAGE2

----


FORM get_topofpage2.

ULINE AT : /1(112).

WRITE : / sy-vline ,

2 text-000 ,

wa_kna1-kunnr ,

35 text-001 ,

wa_kna1-name1 ,

85 text-003 ,

wa_vbak-vbeln ,

112 sy-vline.

ULINE AT : /1(112).

WRITE : /1 sy-vline,

2(13) text-012 COLOR 1,

sy-vline,

18(18) text-013 COLOR 1 ,

sy-vline,

40(13) text-014 COLOR 1 ,

sy-vline,

56(16) text-015 COLOR 1 ,

sy-vline,

75 text-016 COLOR 1 ,

112 sy-vline.

ULINE AT : /1(112).

ENDFORM. "GET_TOPOFPAGE2