‎2008 Mar 26 9:22 AM
‎2008 Mar 26 9:36 AM
Hi,
This is the report for displaying the block stock
*&---------------------------------------------------------------------*
*& Report ZPA_SD_STOCK
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZPA_SD_STOCK.
PARAMETERS:WERKS TYPE T001W-WERKS,
LGORT TYPE T001L-LGORT,
DATE TYPE SY-DATUM.
DATA: BEGIN OF IT_MCHB OCCURS 0,
MATNR TYPE MCHB-MATNR,
CHARG TYPE MCHB-CHARG,
CLABS TYPE MCHB-CLABS,
CSPEM TYPE MCHB-CSPEM,
END OF IT_MCHB,
BEGIN OF IT_MAKT OCCURS 0,
MATNR TYPE MAKT-MATNR,
MAKTX TYPE MAKT-MAKTX,
END OF IT_MAKT,
BEGIN OF IT_MARA OCCURS 0,
MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MTART,
END OF IT_MARA,
BEGIN OF IT_MARM OCCURS 0,
MATNR TYPE MARM-MATNR,
UMREZ TYPE MARM-UMREZ,
UMREN TYPE MARM-UMREN,
END OF IT_MARM,
BEGIN OF IT_QFINAL OCCURS 0,
MATNR TYPE MCHB-MATNR,
MAKTX TYPE MAKT-MAKTX,
MTART TYPE MARA-MTART,
CHARG TYPE MCHB-CHARG,
CLABS TYPE MCHB-CLABS,
CSPEM TYPE MCHB-CSPEM,
END OF IT_QFINAL,
BEGIN OF IT_SFINAL OCCURS 0,
MATNR TYPE MCHB-MATNR,
CFC1 TYPE MCHB-CLABS,
CFC2 TYPE MCHB-CSPEM,
END OF IT_SFINAL,
BEGIN OF IT_FINAL OCCURS 0,
MATNR TYPE MCHB-MATNR,
MAKTX TYPE MAKT-MAKTX,
MTART TYPE MARA-MTART,
CHARG TYPE MCHB-CHARG,
CLABS TYPE MCHB-CLABS,
CFC1 TYPE MCHB-CLABS,
CSPEM TYPE MCHB-CSPEM,
CFC2 TYPE MCHB-CSPEM,
TOT_QUN1 TYPE I,
TOT_QUN2 TYPE I,
END OF IT_FINAL.
****************************************************************************************************************
TYPE-POOLS: SLIS.
INCLUDE <ICON>.
*DATA: G_REPID LIKE SY-REPID.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: GT_HEADER TYPE SLIS_T_LISTHEADER.
DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: GT_EVENTS TYPE SLIS_T_EVENT.
CONSTANTS:
FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE'.
*****************************************************************************************************************
INITIALIZATION.
*****************************************************************************************************************
PERFORM BUILD_LAYOUT USING GS_LAYOUT.
PERFORM BUILD_HEADER USING GT_HEADER[].
PERFORM BUILD_COMMENTRY.
PERFORM BUILD_EVENTTAB USING GT_EVENTS[].
PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].
******************************************************************************************************************
FORM BUILD_LAYOUT USING RS_LAYOUT TYPE SLIS_LAYOUT_ALV.
RS_LAYOUT-NO_INPUT = 'X'.
RS_LAYOUT-ZEBRA = 'X'.
RS_LAYOUT-COLWIDTH_OPTIMIZE = ' '.
RS_LAYOUT-NO_COLHEAD = ' '.
RS_LAYOUT-NO_VLINE = ' '.
RS_LAYOUT-INFO_FIELDNAME = 'WS_COLOR'.
ENDFORM.
FORM BUILD_HEADER USING RT_HEADER TYPE SLIS_T_LISTHEADER.
DATA: TP TYPE SLIS_LISTHEADER.
DATA: TEXT(20) TYPE C,
DT TYPE SY-DATUM.
TP-TYP = 'H'.
TP-INFO = 'Stock Report '.
APPEND TP TO RT_HEADER.
CLEAR TP.
WRITE SY-DATUM TO DT DD/MM/YYYY.
CONCATENATE 'DATE :' DT INTO TEXT.
TP-TYP = 'S'.
TP-INFO = TEXT.
APPEND TP TO RT_HEADER.
CLEAR TP.
ENDFORM.
FORM BUILD_COMMENTRY.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = GT_HEADER[]
I_LOGO = 'ENJOYSAP_LOGO'.
ENDFORM.
FORM BUILD_EVENTTAB USING LT_EVENTS TYPE SLIS_T_EVENT.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = LT_EVENTS.
READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO LS_EVENT.
IF SY-SUBRC = 0.
LS_EVENT-FORM = FORMNAME_TOP_OF_PAGE.
APPEND LS_EVENT TO LT_EVENTS.
ENDIF.
READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE INTO LS_EVENT.
IF SY-SUBRC = 0.
LS_EVENT-FORM = FORMNAME_END_OF_PAGE.
APPEND LS_EVENT TO LT_EVENTS.
ENDIF.
ENDFORM.
FORM FIELDCAT_INIT USING RT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
LS_FIELDCAT-FIELDNAME = 'MATNR'.
LS_FIELDCAT-SELTEXT_L = 'Mterial no'.
LS_FIELDCAT-KEY = 'X'.
LS_FIELDCAT-JUST = 'L'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MAKTX'.
LS_FIELDCAT-SELTEXT_L = 'Material Description'.
LS_FIELDCAT-KEY = 'X'.
LS_FIELDCAT-JUST = 'L'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MTART'.
LS_FIELDCAT-SELTEXT_L = 'Material type'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CHARG'.
LS_FIELDCAT-SELTEXT_L = 'Batch no'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CLABS'.
LS_FIELDCAT-SELTEXT_L = 'Unrestricted-Use Stock'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CFC1'.
LS_FIELDCAT-SELTEXT_L = 'CFC'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CSPEM'.
LS_FIELDCAT-SELTEXT_L = 'Blocked Stock'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CFC2'.
LS_FIELDCAT-SELTEXT_L = 'CFC'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'TOT_QUN1'.
LS_FIELDCAT-SELTEXT_L = 'Total Unrestricted-Use Stock'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'TOT_QUN2'.
LS_FIELDCAT-SELTEXT_L = 'Total Blocked Stock'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
ENDFORM.
****************************************************************************************************************
START-OF-SELECTION.
PERFORM DATA_SELECTION.
PERFORM DATA_PROCESSING.
PERFORM DATA_DISPLAY.
****************************************************************************************************************
FORM DATA_SELECTION.
SELECT MATNR CHARG CLABS CSPEM
FROM MCHB INTO TABLE IT_MCHB
WHERE WERKS = WERKS AND LGORT = LGORT.
*BREAK-POINT.
SELECT MATNR UMREN UMREZ FROM MARM INTO TABLE IT_MARM
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR .
*BREAK-POINT.
SELECT MATNR MTART FROM MARA INTO TABLE IT_MARA
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR AND MTART = 'HALB'.
BREAK-POINT.
SELECT MATNR MAKTX FROM MAKT INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR AND SPRAS = 'EN'.
*BREAK-POINT.
ENDFORM.
FORM DATA_PROCESSING.
LOOP AT IT_MCHB.
READ TABLE IT_MAKT WITH KEY MATNR = IT_MCHB-MATNR.
READ TABLE IT_MARA WITH KEY MATNR = IT_MCHB-MATNR.
IF SY-SUBRC = 0.
IT_QFINAL-MATNR = IT_MCHB-MATNR.
IT_QFINAL-MAKTX = IT_MAKT-MAKTX.
IT_QFINAL-MTART = IT_MARA-MTART.
IT_QFINAL-CHARG = IT_MCHB-CHARG.
IT_QFINAL-CLABS = IT_MCHB-CLABS.
IT_QFINAL-CSPEM = IT_MCHB-CSPEM.
APPEND IT_QFINAL.
ENDIF.
CLEAR IT_QFINAL.
ENDLOOP.
LOOP AT IT_QFINAL.
READ TABLE IT_MARM WITH KEY MATNR = IT_QFINAL-MATNR.
IF SY-SUBRC = 0.
IT_SFINAL-MATNR = IT_QFINAL-MATNR.
IT_SFINAL-CFC1 = ( IT_MARM-UMREN / IT_MARM-UMREZ ) * IT_QFINAL-CLABS.
IT_SFINAL-CFC2 = ( IT_MARM-UMREN / IT_MARM-UMREZ ) * IT_QFINAL-CSPEM.
APPEND IT_SFINAL.
ENDIF.
CLEAR IT_SFINAL.
ENDLOOP.
LOOP AT IT_SFINAL.
READ TABLE IT_QFINAL WITH KEY MATNR = IT_SFINAL-MATNR.
IF SY-SUBRC = 0.
IT_FINAL-MATNR = IT_QFINAL-MATNR.
IT_FINAL-MAKTX = IT_QFINAL-MAKTX.
IT_FINAL-MTART = IT_QFINAL-MTART.
IT_FINAL-CHARG = IT_QFINAL-CHARG.
IT_FINAL-CLABS = IT_QFINAL-CLABS.
IT_FINAL-CFC1 = IT_SFINAL-CFC1.
IT_FINAL-CSPEM = IT_QFINAL-CSPEM.
IT_FINAL-CFC2 = IT_SFINAL-CFC2.
IT_FINAL-TOT_QUN1 = IT_QFINAL-CLABS + IT_QFINAL-CSPEM.
IT_FINAL-TOT_QUN2 = IT_SFINAL-CFC1 + IT_SFINAL-CFC2.
APPEND IT_FINAL.
ENDIF.
CLEAR IT_FINAL.
ENDLOOP.
ENDFORM.
FORM DATA_DISPLAY.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = 'BUILD_COMMENTRY'
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
I_SAVE = 'X'
TABLES
T_OUTTAB = IT_FINAL
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.
HTH
Regards,
Dhruv Shah
‎2008 Mar 26 9:30 AM
VE31 Blocked SD Documents
VKM1 Blocked SD Documents
V.14 Sales Orders Blocked for Delivery
V23 Sales Documents Blocked for Billing
VA14L Sales Documents Blocked for Delivery
‎2008 Mar 26 9:34 AM
Hi,
Go to table VBAK, check for the field LIFSK. it contains the details for the Delivery block (document header).
Regards,
Sreekanth.G
‎2008 Mar 26 9:36 AM
Hi,
This is the report for displaying the block stock
*&---------------------------------------------------------------------*
*& Report ZPA_SD_STOCK
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZPA_SD_STOCK.
PARAMETERS:WERKS TYPE T001W-WERKS,
LGORT TYPE T001L-LGORT,
DATE TYPE SY-DATUM.
DATA: BEGIN OF IT_MCHB OCCURS 0,
MATNR TYPE MCHB-MATNR,
CHARG TYPE MCHB-CHARG,
CLABS TYPE MCHB-CLABS,
CSPEM TYPE MCHB-CSPEM,
END OF IT_MCHB,
BEGIN OF IT_MAKT OCCURS 0,
MATNR TYPE MAKT-MATNR,
MAKTX TYPE MAKT-MAKTX,
END OF IT_MAKT,
BEGIN OF IT_MARA OCCURS 0,
MATNR TYPE MARA-MATNR,
MTART TYPE MARA-MTART,
END OF IT_MARA,
BEGIN OF IT_MARM OCCURS 0,
MATNR TYPE MARM-MATNR,
UMREZ TYPE MARM-UMREZ,
UMREN TYPE MARM-UMREN,
END OF IT_MARM,
BEGIN OF IT_QFINAL OCCURS 0,
MATNR TYPE MCHB-MATNR,
MAKTX TYPE MAKT-MAKTX,
MTART TYPE MARA-MTART,
CHARG TYPE MCHB-CHARG,
CLABS TYPE MCHB-CLABS,
CSPEM TYPE MCHB-CSPEM,
END OF IT_QFINAL,
BEGIN OF IT_SFINAL OCCURS 0,
MATNR TYPE MCHB-MATNR,
CFC1 TYPE MCHB-CLABS,
CFC2 TYPE MCHB-CSPEM,
END OF IT_SFINAL,
BEGIN OF IT_FINAL OCCURS 0,
MATNR TYPE MCHB-MATNR,
MAKTX TYPE MAKT-MAKTX,
MTART TYPE MARA-MTART,
CHARG TYPE MCHB-CHARG,
CLABS TYPE MCHB-CLABS,
CFC1 TYPE MCHB-CLABS,
CSPEM TYPE MCHB-CSPEM,
CFC2 TYPE MCHB-CSPEM,
TOT_QUN1 TYPE I,
TOT_QUN2 TYPE I,
END OF IT_FINAL.
****************************************************************************************************************
TYPE-POOLS: SLIS.
INCLUDE <ICON>.
*DATA: G_REPID LIKE SY-REPID.
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: GT_HEADER TYPE SLIS_T_LISTHEADER.
DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: GT_EVENTS TYPE SLIS_T_EVENT.
CONSTANTS:
FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE'.
*****************************************************************************************************************
INITIALIZATION.
*****************************************************************************************************************
PERFORM BUILD_LAYOUT USING GS_LAYOUT.
PERFORM BUILD_HEADER USING GT_HEADER[].
PERFORM BUILD_COMMENTRY.
PERFORM BUILD_EVENTTAB USING GT_EVENTS[].
PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].
******************************************************************************************************************
FORM BUILD_LAYOUT USING RS_LAYOUT TYPE SLIS_LAYOUT_ALV.
RS_LAYOUT-NO_INPUT = 'X'.
RS_LAYOUT-ZEBRA = 'X'.
RS_LAYOUT-COLWIDTH_OPTIMIZE = ' '.
RS_LAYOUT-NO_COLHEAD = ' '.
RS_LAYOUT-NO_VLINE = ' '.
RS_LAYOUT-INFO_FIELDNAME = 'WS_COLOR'.
ENDFORM.
FORM BUILD_HEADER USING RT_HEADER TYPE SLIS_T_LISTHEADER.
DATA: TP TYPE SLIS_LISTHEADER.
DATA: TEXT(20) TYPE C,
DT TYPE SY-DATUM.
TP-TYP = 'H'.
TP-INFO = 'Stock Report '.
APPEND TP TO RT_HEADER.
CLEAR TP.
WRITE SY-DATUM TO DT DD/MM/YYYY.
CONCATENATE 'DATE :' DT INTO TEXT.
TP-TYP = 'S'.
TP-INFO = TEXT.
APPEND TP TO RT_HEADER.
CLEAR TP.
ENDFORM.
FORM BUILD_COMMENTRY.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = GT_HEADER[]
I_LOGO = 'ENJOYSAP_LOGO'.
ENDFORM.
FORM BUILD_EVENTTAB USING LT_EVENTS TYPE SLIS_T_EVENT.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = LT_EVENTS.
READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO LS_EVENT.
IF SY-SUBRC = 0.
LS_EVENT-FORM = FORMNAME_TOP_OF_PAGE.
APPEND LS_EVENT TO LT_EVENTS.
ENDIF.
READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE INTO LS_EVENT.
IF SY-SUBRC = 0.
LS_EVENT-FORM = FORMNAME_END_OF_PAGE.
APPEND LS_EVENT TO LT_EVENTS.
ENDIF.
ENDFORM.
FORM FIELDCAT_INIT USING RT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
LS_FIELDCAT-FIELDNAME = 'MATNR'.
LS_FIELDCAT-SELTEXT_L = 'Mterial no'.
LS_FIELDCAT-KEY = 'X'.
LS_FIELDCAT-JUST = 'L'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MAKTX'.
LS_FIELDCAT-SELTEXT_L = 'Material Description'.
LS_FIELDCAT-KEY = 'X'.
LS_FIELDCAT-JUST = 'L'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'MTART'.
LS_FIELDCAT-SELTEXT_L = 'Material type'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CHARG'.
LS_FIELDCAT-SELTEXT_L = 'Batch no'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CLABS'.
LS_FIELDCAT-SELTEXT_L = 'Unrestricted-Use Stock'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CFC1'.
LS_FIELDCAT-SELTEXT_L = 'CFC'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CSPEM'.
LS_FIELDCAT-SELTEXT_L = 'Blocked Stock'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'CFC2'.
LS_FIELDCAT-SELTEXT_L = 'CFC'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'TOT_QUN1'.
LS_FIELDCAT-SELTEXT_L = 'Total Unrestricted-Use Stock'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-FIELDNAME = 'TOT_QUN2'.
LS_FIELDCAT-SELTEXT_L = 'Total Blocked Stock'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
ENDFORM.
****************************************************************************************************************
START-OF-SELECTION.
PERFORM DATA_SELECTION.
PERFORM DATA_PROCESSING.
PERFORM DATA_DISPLAY.
****************************************************************************************************************
FORM DATA_SELECTION.
SELECT MATNR CHARG CLABS CSPEM
FROM MCHB INTO TABLE IT_MCHB
WHERE WERKS = WERKS AND LGORT = LGORT.
*BREAK-POINT.
SELECT MATNR UMREN UMREZ FROM MARM INTO TABLE IT_MARM
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR .
*BREAK-POINT.
SELECT MATNR MTART FROM MARA INTO TABLE IT_MARA
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR AND MTART = 'HALB'.
BREAK-POINT.
SELECT MATNR MAKTX FROM MAKT INTO TABLE IT_MAKT
FOR ALL ENTRIES IN IT_MCHB
WHERE MATNR = IT_MCHB-MATNR AND SPRAS = 'EN'.
*BREAK-POINT.
ENDFORM.
FORM DATA_PROCESSING.
LOOP AT IT_MCHB.
READ TABLE IT_MAKT WITH KEY MATNR = IT_MCHB-MATNR.
READ TABLE IT_MARA WITH KEY MATNR = IT_MCHB-MATNR.
IF SY-SUBRC = 0.
IT_QFINAL-MATNR = IT_MCHB-MATNR.
IT_QFINAL-MAKTX = IT_MAKT-MAKTX.
IT_QFINAL-MTART = IT_MARA-MTART.
IT_QFINAL-CHARG = IT_MCHB-CHARG.
IT_QFINAL-CLABS = IT_MCHB-CLABS.
IT_QFINAL-CSPEM = IT_MCHB-CSPEM.
APPEND IT_QFINAL.
ENDIF.
CLEAR IT_QFINAL.
ENDLOOP.
LOOP AT IT_QFINAL.
READ TABLE IT_MARM WITH KEY MATNR = IT_QFINAL-MATNR.
IF SY-SUBRC = 0.
IT_SFINAL-MATNR = IT_QFINAL-MATNR.
IT_SFINAL-CFC1 = ( IT_MARM-UMREN / IT_MARM-UMREZ ) * IT_QFINAL-CLABS.
IT_SFINAL-CFC2 = ( IT_MARM-UMREN / IT_MARM-UMREZ ) * IT_QFINAL-CSPEM.
APPEND IT_SFINAL.
ENDIF.
CLEAR IT_SFINAL.
ENDLOOP.
LOOP AT IT_SFINAL.
READ TABLE IT_QFINAL WITH KEY MATNR = IT_SFINAL-MATNR.
IF SY-SUBRC = 0.
IT_FINAL-MATNR = IT_QFINAL-MATNR.
IT_FINAL-MAKTX = IT_QFINAL-MAKTX.
IT_FINAL-MTART = IT_QFINAL-MTART.
IT_FINAL-CHARG = IT_QFINAL-CHARG.
IT_FINAL-CLABS = IT_QFINAL-CLABS.
IT_FINAL-CFC1 = IT_SFINAL-CFC1.
IT_FINAL-CSPEM = IT_QFINAL-CSPEM.
IT_FINAL-CFC2 = IT_SFINAL-CFC2.
IT_FINAL-TOT_QUN1 = IT_QFINAL-CLABS + IT_QFINAL-CSPEM.
IT_FINAL-TOT_QUN2 = IT_SFINAL-CFC1 + IT_SFINAL-CFC2.
APPEND IT_FINAL.
ENDIF.
CLEAR IT_FINAL.
ENDLOOP.
ENDFORM.
FORM DATA_DISPLAY.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = 'BUILD_COMMENTRY'
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
I_SAVE = 'X'
TABLES
T_OUTTAB = IT_FINAL
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.
HTH
Regards,
Dhruv Shah
‎2008 Mar 26 9:36 AM
hi,
If you want a material to be blocked, go to the Basic data 1 view of the material,there in the genral data you have " X-plant material status ". Also in Cost estimate 1 view of the material you have Plant Specific Material status. Use the options available to block the material in these two views.
You cannot use the material in sales order
pankaj
-
Use the material exclusion function:
FUNCTIONALITY:
SD> Master data > Products > Listing/Exclusion> Create
( Tcodes VBO1, VB02, VB03)
Enter the list/exclusion type B001: For the required
customer:
Enter Maintain materials > Save > Exit
Create the order and enter material excluded to test exclusion.
CONFIGURATION: IMG SETTINGS
For IMG settings; Go to IMG > SD > Basic Functions>Listing/Exclusion
ENsure that the listing/exclusion procedure is activated for
your order type. You can also create your own condition types access sequences and procedures or use the SAP provided
ones.
pankaj----
Additionally, another option is the sales block in the material master...
It is in one of the two sales data tabs and you are able to configure specific blocks that allow it to be entered on credits
but not on orders, blocked from all activity, allowed for quotes
only, etc. It is one setting that becomes sales area specific
and can easily be removed if you change your mind. It also has an effectivity date that can be used.
if helpful give reward points
Regards,
pankaj