TYPES : BEGIN OF T_BILL,
VBELN TYPE VBRK-VBELN,
VKORG TYPE VBRK-VKORG,
BZIRK TYPE VBRK-BZIRK,
FKIMG TYPE VBRP-FKIMG,
MEINS TYPE VBRP-MEINS,
NETWR TYPE VBRP-NETWR,
END OF T_BILL.
DATA : IT_BILL TYPE TABLE OF T_BILL,
WA_BILL TYPE T_BILL.
DATA : O_CUST TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
O_ALV TYPE REF TO CL_GUI_ALV_GRID.
DATA : IT_FCAT TYPE LVC_T_FCAT,
WA_FCAT TYPE LVC_S_FCAT.
SELECT-OPTIONS : S_VBELN FOR WA_BILL-VBELN.
VKORG TYPE VBRK-VKORG,
BZIRK TYPE VBRK-BZIRK,
FKIMG TYPE VBRP-FKIMG,
MEINS TYPE VBRP-MEINS,
NETWR TYPE VBRP-NETWR,
END OF T_BILL.
DATA : IT_BILL TYPE TABLE OF T_BILL,
WA_BILL TYPE T_BILL.
DATA : O_CUST TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
O_ALV TYPE REF TO CL_GUI_ALV_GRID.
DATA : IT_FCAT TYPE LVC_T_FCAT,
WA_FCAT TYPE LVC_S_FCAT.
SELECT-OPTIONS : S_VBELN FOR WA_BILL-VBELN.
START-OF-SELECTION.
PERFORM FETCH_DATA.
PERFORM FIELDCAT.
CALL SCREEN 100.
PERFORM FETCH_DATA.
PERFORM FIELDCAT.
CALL SCREEN 100.
FORM FETCH_DATA .
SELECT A~VBELN VKORG BZIRK FKIMG MEINS B~NETWR INTO TABLE IT_BILL
FROM VBRK AS A INNER JOIN VBRP AS B ON A~VBELN = B~VBELN
WHERE a~VBELN IN S_VBELN.
ENDFORM.
SELECT A~VBELN VKORG BZIRK FKIMG MEINS B~NETWR INTO TABLE IT_BILL
FROM VBRK AS A INNER JOIN VBRP AS B ON A~VBELN = B~VBELN
WHERE a~VBELN IN S_VBELN.
ENDFORM.
FORM FIELDCAT .
WA_FCAT-COL_POS = 1.
WA_FCAT-FIELDNAME = 'VBELN'.
WA_FCAT-COLTEXT = 'Billing Document'.
WA_FCAT-KEY = 'X'.
WA_FCAT-OUTPUTLEN = 10.
WA_FCAT-HOTSPOT = 'X'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = 1.
WA_FCAT-FIELDNAME = 'VBELN'.
WA_FCAT-COLTEXT = 'Billing Document'.
WA_FCAT-KEY = 'X'.
WA_FCAT-OUTPUTLEN = 10.
WA_FCAT-HOTSPOT = 'X'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = 2.
WA_FCAT-FIELDNAME = 'VKORG'.
WA_FCAT-COLTEXT = 'Sales Organization'.
WA_FCAT-OUTPUTLEN = 4.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = 3.
WA_FCAT-FIELDNAME = 'BZIRK'.
WA_FCAT-COLTEXT = 'Sales district'.
WA_FCAT-OUTPUTLEN = 6.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = 4.
WA_FCAT-FIELDNAME = 'FKIMG'.
WA_FCAT-COLTEXT = 'Actual Invoiced Quantity'.
WA_FCAT-OUTPUTLEN = 13.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = 5.
WA_FCAT-FIELDNAME = 'MEINS'.
WA_FCAT-COLTEXT = 'Base Unit of Measure'.
WA_FCAT-OUTPUTLEN = 3.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = 6.
WA_FCAT-FIELDNAME = 'NETWR'.
WA_FCAT-COLTEXT = 'Net value'.
WA_FCAT-OUTPUTLEN = 15.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
ENDFORM. " FIELDCAT
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'STATUS'.
* SET TITLEBAR 'xxx'.
ENDMODULE.
SET PF-STATUS 'STATUS'.
* SET TITLEBAR 'xxx'.
ENDMODULE.
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
MODULE DISPLAY_BILL OUTPUT.
create object O_CUST
exporting
* PARENT =
CONTAINER_NAME = 'CUST'
exceptions
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 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.
create object O_CUST
exporting
* PARENT =
CONTAINER_NAME = 'CUST'
exceptions
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 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.
create object O_ALV
exporting
* I_SHELLSTYLE = 0
* I_LIFETIME =
I_PARENT = O_CUST
exceptions
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
OTHERS = 5
.
if SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
exporting
* I_SHELLSTYLE = 0
* I_LIFETIME =
I_PARENT = O_CUST
exceptions
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
OTHERS = 5
.
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 method O_ALV->SET_TABLE_FOR_FIRST_DISPLAY
* exporting
* I_BUFFER_ACTIVE =
* I_BYPASSING_BUFFER =
*
changing
IT_OUTTAB = IT_BILL
IT_FIELDCATALOG = IT_FCAT
* IT_SORT =
* IT_FILTER =
* exceptions
* INVALID_PARAMETER_COMBINATION = 1
* PROGRAM_ERROR = 2
* TOO_MANY_LINES = 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.
ENDMODULE.
* exporting
* I_BUFFER_ACTIVE =
* I_BYPASSING_BUFFER =
*
changing
IT_OUTTAB = IT_BILL
IT_FIELDCATALOG = IT_FCAT
* IT_SORT =
* IT_FILTER =
* exceptions
* INVALID_PARAMETER_COMBINATION = 1
* PROGRAM_ERROR = 2
* TOO_MANY_LINES = 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.
ENDMODULE.
Serkan AKKAVAK
Computer Engineer BSc
SAP Department Deputy Manager
Contact : serkurumsal@yandex.com
0 Comments