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

Former Member
0 Likes
658

hi all,

How do u display blocked sales orders in a report?

1 ACCEPTED SOLUTION
Read only

dhruv_shah3
Active Contributor
0 Likes
620

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

4 REPLIES 4
Read only

Former Member
0 Likes
620

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

Read only

0 Likes
620

Hi,

Go to table VBAK, check for the field LIFSK. it contains the details for the Delivery block (document header).

Regards,

Sreekanth.G

Read only

dhruv_shah3
Active Contributor
0 Likes
621

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

Read only

Former Member
0 Likes
620

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