Report to display open purchase order by vendors
Hi all,
Please let me know the report that displays the open purchase orders by vendors
Thanks in advance
sunil
Dear Sunil,
Added to erlier reply, you can get by ME2L/ME2M...., inselection parameters select WE101. Which gives all the POS that are open. You can restrict y giving the vendor number.
If your proble is resolved, please close the issue
With Regards,
krishna
Similar Messages
-
Report showing the open Purchase orders
Hi Experts,
Is there any standard report to view the open Purchase orders.
Developing a new report is the only solution.
ThanksHi,
You need not create Zreport.
Either you can use ME2N with selection parameter WE101 & Scope of list BEST
or
Go to SE16
Use Table EKPO
Use Filed name ELIKZ
If you give X list of all the delivery completed items.
If you leave blank list of all Open PO items will display.
Reward points if found useful.
Regards,
Vengat -
Want Interactive Report which displays the Purchase Orders
Hi all,
What are the select-options,parameters and tables used in purchase orders report and if possible send me the code for the same.
Thanks in Advance
Santosh Rsee if this one helps
REPORT YSG_MATSTK_REPT LINE-SIZE 220
LINE-COUNT 50(5).
*& DATA DECLARATION *
TABLES: MARA, "GENERAL MASTER DATA
MARC, "PLANT DATA FOR MATERIAL
MARD, "STORAGE LOCATION DATA FOR MATERIAL
MVKE, "SALES DATA FOR MATERIAL
MAKT, "MATERIAL DESCRIPTION
EKKO, "PURCHASING DOCUMENT HEADER
EKPO, "PURCHASING DOCUMENT ITEM
VBAK, "SALES DOCUMENT HEADER DATA
VBAP. "SALES DOCUMENT ITEM DATA
TYPE-POOLS : SLIS.
DATA: VT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,
V_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
V_LAYOUT TYPE SLIS_LAYOUT_ALV,
BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
BEGIN OF I_MARA OCCURS 0,
MATNR LIKE MARA-MATNR, "MATERIAL NUMBER
MBRSH LIKE MARA-MBRSH, "INDUSTRY SECTOR
MEINS LIKE MARA-MEINS, "BASE UNIT OF MEASURE
MATKL LIKE MARA-MATKL, "MATERIAL GROUP
END OF I_MARA,
BEGIN OF I_MARC OCCURS 0,
MATNR LIKE MARC-MATNR, "MATERIAL NUMBER
WERKS LIKE MARC-WERKS, "PLANT
LVORM LIKE MARC-LVORM, "FLAG MATERIAL FOR DELETION AT PLANT
"LEVEL
DISPO LIKE MARC-DISPO, "MRP CONTROLLER
END OF I_MARC,
BEGIN OF I_MAKT OCCURS 0,
MATNR LIKE MAKT-MATNR, "MATERIAL NUMBER
MAKTX LIKE MAKT-MAKTX, "MATERIAL DESCRIPTION
SPRAS LIKE MAKT-SPRAS, "LANGUAGE KEY
END OF I_MAKT,
BEGIN OF I_MVKE OCCURS 0,
MATNR LIKE MVKE-MATNR, "MATERIAL NUMBER
VKORG LIKE MVKE-VKORG, "SALES ORGANIZATION
VTWEG LIKE MVKE-VTWEG, "DISTRIBUTION CHANNEL
END OF I_MVKE,
BEGIN OF I_MARD OCCURS 0,
MATNR LIKE MARD-MATNR, "MATERIAL NUMBER
LGORT LIKE MARD-LGORT, "STORAGE LOCATION
LABST LIKE MARD-LABST, "VALUATED STOCK WITH UNRESTRICTED USE
END OF I_MARD,
BEGIN OF I_EKPO OCCURS 0,
EBELN LIKE EKPO-EBELN, "PURCHASING DOCUMENT NUMBER
EBELP LIKE EKPO-EBELP, "ITEM NUMBER OF PURCHASING DOCUMENT
MATNR LIKE EKPO-MATNR, "MATERIAL NUMBER
END OF I_EKPO,
BEGIN OF I_VBAP OCCURS 0,
VBELN LIKE VBAP-VBELN, "SALES DOCUMENT
POSNR LIKE VBAP-POSNR, "SALES DOCUMENT ITEM
MATNR LIKE VBAP-MATNR, "MATERIAL NUMBER
END OF I_VBAP,
BEGIN OF I_OUT OCCURS 0,
MATNR LIKE MARC-MATNR,
WERKS LIKE MARC-WERKS,
LVORM LIKE MARC-LVORM,
DISPO LIKE MARC-DISPO,
MBRSH LIKE MARA-MBRSH,
MEINS LIKE MARA-MEINS,
MATKL LIKE MARA-MATKL,
VKORG LIKE MVKE-VKORG,
VTWEG LIKE MVKE-VTWEG,
SPRAS LIKE MAKT-SPRAS,
MAKTX LIKE MAKT-MAKTX,
LGORT LIKE MARD-LGORT,
LABST LIKE MARD-LABST,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
END OF I_OUT,
BEGIN OF I_HEADING OCCURS 0,
TEXT1(20),
TEXT2(20),
TEXT3(20),
TEXT4(20),
TEXT5(20),
TEXT6(20),
TEXT7(20),
TEXT8(20),
TEXT9(20),
TEXT10(20),
TEXT11(40),
TEXT12(20),
TEXT13(20),
TEXT14(20),
TEXT15(20),
TEXT16(20),
TEXT17(20),
END OF I_HEADING.
*& 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-100.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR. "OBLIGATORY.
PARAMETERS: P_WERKS LIKE MARC-WERKS. "OBLIGATORY.
SELECT-OPTIONS: S_LGORT FOR MARD-LGORT,
S_DISPO FOR MARC-DISPO,
S_EBELN FOR EKPO-EBELN .
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-101.
PARAMETERS : RB1 RADIOBUTTON GROUP G1,
RB2 RADIOBUTTON GROUP G1,
RB3 RADIOBUTTON GROUP G1.
SELECTION-SCREEN END OF BLOCK B2.
*& I N I T I A L I Z A T I O N *
*INITIALIZATION.
*& S T A R T - O F - S E L E C T I O N *
START-OF-SELECTION.
SELECT MATNR WERKS LVORM DISPO FROM MARC
INTO CORRESPONDING FIELDS OF TABLE I_MARC
WHERE MATNR IN S_MATNR
AND DISPO IN S_DISPO
AND WERKS = P_WERKS.
IF I_MARC[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARC'.
EXIT.
ENDIF.
PERFORM PURCHASEDATA_VALIDATION.
PERFORM SALESDATA_VALIDATION.
SELECT MATNR LGORT LABST FROM MARD INTO TABLE I_MARD
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR
AND WERKS EQ P_WERKS
AND LGORT IN S_LGORT.
IF I_MARD[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MARD'.
EXIT.
ENDIF.
SELECT MATNR VKORG VTWEG FROM MVKE INTO TABLE I_MVKE
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR.
IF I_MVKE[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM MVKE'.
EXIT.
ENDIF.
LOOP AT I_MARC.
MOVE-CORRESPONDING I_MARC TO I_OUT.
CLEAR MARC.
SELECT SINGLE MATNR MBRSH MEINS MATKL FROM MARA
INTO CORRESPONDING FIELDS OF MARA
WHERE MATNR = I_OUT-MATNR.
IF SY-SUBRC = 0.
MOVE: MARA-MBRSH TO I_OUT-MBRSH,
MARA-MEINS TO I_OUT-MEINS,
MARA-MATKL TO I_OUT-MATKL.
ELSE.
CONTINUE.
ENDIF.
SELECT SINGLE MATNR MAKTX SPRAS FROM MAKT
INTO CORRESPONDING FIELDS OF MAKT
WHERE MATNR = I_OUT-MATNR.
IF SY-SUBRC = 0.
MOVE: MAKT-MAKTX TO I_OUT-MAKTX,
MAKT-SPRAS TO I_OUT-SPRAS.
ELSE.
CONTINUE.
ENDIF.
LOOP AT I_EKPO WHERE MATNR = I_MARC-MATNR.
MOVE: I_EKPO-EBELN TO I_OUT-EBELN,
I_EKPO-EBELP TO I_OUT-EBELP.
ENDLOOP.
LOOP AT I_VBAP WHERE MATNR = I_MARC-MATNR.
MOVE: I_VBAP-VBELN TO I_OUT-VBELN,
I_VBAP-POSNR TO I_OUT-POSNR.
ENDLOOP.
LOOP AT I_MARD WHERE MATNR = I_MARC-MATNR.
MOVE: I_MARD-LABST TO I_OUT-LABST,
I_MARD-LGORT TO I_OUT-LGORT.
ENDLOOP.
LOOP AT I_MVKE WHERE MATNR = I_MARC-MATNR.
MOVE: I_MVKE-VKORG TO I_OUT-VKORG,
I_MVKE-VTWEG TO I_OUT-VTWEG.
ENDLOOP.
APPEND I_OUT.
CLEAR I_OUT.
ENDLOOP.
PERFORM OPTIONS.
* FORM OPTIONS *
FORM OPTIONS.
IF RB2 = 'X'.
PERFORM FIELDCAT.
PERFORM OUTPUT.
ELSE.
IF RB1 = 'X'.
PERFORM HEADINGS.
PERFORM DLOAD.
ELSE.
IF RB3 = 'X'.
PERFORM HEADINGS.
PERFORM DLOAD.
PERFORM FIELDCAT.
PERFORM OUTPUT.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. "OPTIONS
* FORM HEADINGS *
FORM HEADINGS.
I_HEADING-TEXT1 = 'MATNR'.
I_HEADING-TEXT2 = 'WERKS'.
I_HEADING-TEXT3 = 'LVORM'.
I_HEADING-TEXT4 = 'DISPO'.
I_HEADING-TEXT5 = 'MBRSH'.
I_HEADING-TEXT6 = 'MEINS'.
I_HEADING-TEXT7 = 'MATKL'.
I_HEADING-TEXT8 = 'VKORG'.
I_HEADING-TEXT9 = 'VTWEG'.
I_HEADING-TEXT10 = 'SPRAS'.
I_HEADING-TEXT11 = 'MAKTX'.
I_HEADING-TEXT12 = 'LGORT'.
I_HEADING-TEXT13 = 'LABST'.
I_HEADING-TEXT14 = 'EBELN'.
I_HEADING-TEXT15 = 'EBELP'.
I_HEADING-TEXT16 = 'VBELN'.
I_HEADING-TEXT17 = 'POSNR'.
APPEND I_HEADING.
ENDFORM. "HEADINGS
* FORM DLOAD *
FORM DLOAD.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:MATSTK.csv'
FILETYPE = 'DAT'
WRITE_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = I_HEADING
EXCEPTIONS
FILE_WRITE_ERROR = 1.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:MATSTK.csv'
FILETYPE = 'DAT'
APPEND = 'X'
WRITE_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = I_OUT.
ENDFORM. "DLOAD
* FORM FIELDCAT *
FORM FIELDCAT.
V_FIELDCAT-COL_POS = '1'.
V_FIELDCAT-FIELDNAME = 'MATNR'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-HOTSPOT = 'X'.
V_FIELDCAT-REF_FIELDNAME = 'MATNR'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '2'.
V_FIELDCAT-FIELDNAME = 'WERKS'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'WERKS'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '3'.
V_FIELDCAT-FIELDNAME = 'LVORM'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'LVORM'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '4'.
V_FIELDCAT-FIELDNAME = 'DISPO'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'DISPO'.
V_FIELDCAT-REF_TABNAME = 'MARC'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '5'.
V_FIELDCAT-FIELDNAME = 'MBRSH'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MBRSH'.
V_FIELDCAT-REF_TABNAME = 'MARA'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '6'.
V_FIELDCAT-FIELDNAME = 'MEINS'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MEINS'.
V_FIELDCAT-REF_TABNAME = 'MARA'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '7'.
V_FIELDCAT-FIELDNAME = 'MATKL'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MATKL'.
V_FIELDCAT-REF_TABNAME = 'MARA'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '8'.
V_FIELDCAT-FIELDNAME = 'VKORG'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'VKORG'.
V_FIELDCAT-REF_TABNAME = 'MVKE'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '9'.
V_FIELDCAT-FIELDNAME = 'VTWEG'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'VTWEG'.
V_FIELDCAT-REF_TABNAME = 'MVKE'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '10'.
V_FIELDCAT-FIELDNAME = 'SPRAS'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'SPRAS'.
V_FIELDCAT-REF_TABNAME = 'MAKT'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '11'.
V_FIELDCAT-FIELDNAME = 'MAKTX'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'MAKTX'.
V_FIELDCAT-REF_TABNAME = 'MAKT'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '12'.
V_FIELDCAT-FIELDNAME = 'LGORT'.
V_FIELDCAT-TABNAME = 'I_OUT'.
* V_FIELDCAT-REF_FIELDNAME = 'LGORT'.
* V_FIELDCAT-REF_TABNAME = 'MARD'.
V_FIELDCAT-SELTEXT_L = 'STRG LOCT'.
V_FIELDCAT-OUTPUTLEN = 10.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '13'.
V_FIELDCAT-FIELDNAME = 'LABST'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-SELTEXT_M = 'STOCK'.
V_FIELDCAT-OUTPUTLEN = 15.
* V_FIELDCAT-REF_FIELDNAME = 'LABST'.
* V_FIELDCAT-REF_TABNAME = 'MARD'.
V_FIELDCAT-DO_SUM = 'X'.
V_LAYOUT-TOTALS_TEXT = 'TOTAL STOCK:'.
V_FIELDCAT-HOTSPOT = 'X'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '14'.
V_FIELDCAT-FIELDNAME = 'EBELN'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-HOTSPOT = 'X'.
V_FIELDCAT-REF_FIELDNAME = 'EBELN'.
V_FIELDCAT-REF_TABNAME = 'EKPO'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '15'.
V_FIELDCAT-FIELDNAME = 'EBELP'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'EBELP'.
V_FIELDCAT-REF_TABNAME = 'EKPO'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '16'.
V_FIELDCAT-FIELDNAME = 'VBELN'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-HOTSPOT = 'X'.
V_FIELDCAT-REF_FIELDNAME = 'VBELN'.
V_FIELDCAT-REF_TABNAME = 'VBAP'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
V_FIELDCAT-COL_POS = '17'.
V_FIELDCAT-FIELDNAME = 'POSNR'.
V_FIELDCAT-TABNAME = 'I_OUT'.
V_FIELDCAT-REF_FIELDNAME = 'POSNR'.
V_FIELDCAT-REF_TABNAME = 'VBAP'.
APPEND V_FIELDCAT TO VT_FIELDCAT1.
CLEAR V_FIELDCAT.
ENDFORM. "FIELDCAT
* FORM OUTPUT *
FORM OUTPUT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = 'TOP-OF-PAGE'
I_GRID_TITLE = 'CLICK ON MATERIAL/PURDOC/SALESDOC FOR DETAILS'
I_CALLBACK_USER_COMMAND = 'DISPLAYDETAILS'
IS_LAYOUT = V_LAYOUT
IT_FIELDCAT = VT_FIELDCAT1
TABLES
T_OUTTAB = I_OUT.
IF SY-SUBRC <> 0.
ENDIF.
ENDFORM. "OUTPUT
* FORM TOP-OF-PAGE *
FORM TOP-OF-PAGE.
DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
WA_HEADER TYPE SLIS_LISTHEADER.
WA_HEADER-TYP = 'H'.
WA_HEADER-INFO = 'REPORT FOR : '.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
WA_HEADER-TYP = 'S'.
WA_HEADER-INFO = 'MATERIAL DETAILS'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
WA_HEADER-TYP = 'S'.
WA_HEADER-INFO = 'PURCHASE ORDER DETAILS'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
WA_HEADER-TYP = 'S'.
WA_HEADER-INFO = 'SALES ORDER DETAILS'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
I_LOGO = 'GEAR'
IT_LIST_COMMENTARY = T_HEADER.
ENDFORM. "TOP-OF-PAGE
*& FORM DISPLAYDETAILS *
FORM DISPLAYDETAILS USING UCOMM LIKE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
IF SELFIELD-FIELDNAME = 'EBELN'.
IF UCOMM = '&IC1'.
READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
PERFORM PORECDNG.
CLEAR BDCDATA[].
ENDIF.
ELSE.
IF SELFIELD-FIELDNAME = 'MATNR'.
IF UCOMM = '&IC1'.
READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
PERFORM MMRECDNG.
CLEAR BDCDATA[].
ENDIF.
ELSE.
IF SELFIELD-FIELDNAME = 'VBELN'.
IF UCOMM = '&IC1'.
READ TABLE I_OUT INDEX SELFIELD-TABINDEX.
PERFORM SALESRECDNG.
CLEAR BDCDATA[].
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. "DISPLAYDETAILS
* FORM PORECDNG *
FORM PORECDNG.
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0105'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM06E-BSTNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RM06E-BSTNR'
I_OUT-EBELN.
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0120'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM06E-BSTPO(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=AH'.
PERFORM BDC_FIELD USING 'RM06E-EBELP'
I_OUT-EBELP.
PERFORM BDC_FIELD USING 'RM06E-TCSELFLAG(01)'
'X'.
PERFORM BDC_TRANSACTION USING 'ME23'.
ENDFORM. "PORECDNG
* FORM MMRECDNG *
FORM MMRECDNG.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RMMG1-MATNR'
I_OUT-MATNR.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(01)'
'X'.
PERFORM BDC_TRANSACTION USING 'MM03'.
ENDFORM. "MMRECDNG
* FORM SALESRECDNG *
FORM SALESRECDNG.
PERFORM BDC_DYNPRO USING 'SAPMV45A' '0102'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'VBAK-VBELN'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'VBAK-VBELN'
I_OUT-VBELN.
PERFORM BDC_TRANSACTION USING 'VA03'.
ENDFORM. "SALESRECDNG
* FORM BDC_TRANSACTION *
FORM BDC_TRANSACTION USING TCODE.
CALL TRANSACTION TCODE USING BDCDATA MODE 'E'.
ENDFORM. "BDC_TRANSACTION
* FORM BDC_DYNPRO *
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO
* INSERT FIELD *
FORM BDC_FIELD USING FNAM FVAL.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDFORM. "BDC_FIELD
*& FORM PURCHASEDATA_VALIDATION *
FORM PURCHASEDATA_VALIDATION.
SELECT EBELN EBELP MATNR
FROM EKPO
INTO TABLE I_EKPO
FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR
AND EBELN IN S_EBELN
AND WERKS EQ P_WERKS.
IF I_EKPO[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM TABLE EKPO'.
EXIT.
ENDIF.
DATA: T_EKPO LIKE I_EKPO OCCURS 0 WITH HEADER LINE.
T_EKPO[] = I_EKPO[].
REFRESH I_EKPO.
FREE I_EKPO.
LOOP AT T_EKPO.
SELECT SINGLE EBELN FROM EKKO INTO EKPO-EBELN
WHERE EBELN = T_EKPO-EBELN.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING T_EKPO TO I_EKPO.
APPEND I_EKPO.
CLEAR I_EKPO.
ELSE.
CONTINUE.
ENDIF.
ENDLOOP.
SORT I_EKPO.
ENDFORM. "PURCHASEDATA_VALIDATION
*& FORM SALESDATA_VALIDATION *
FORM SALESDATA_VALIDATION.
SELECT VBELN POSNR MATNR
FROM VBAP
INTO CORRESPONDING FIELDS OF TABLE
I_VBAP FOR ALL ENTRIES IN I_MARC
WHERE MATNR = I_MARC-MATNR.
IF I_VBAP[] IS INITIAL.
WRITE:/ 'NO MATCHING DATA AVAILABLE FROM TABLE VBAP'.
EXIT.
ENDIF.
DATA: T_VBAP LIKE I_VBAP OCCURS 0 WITH HEADER LINE.
T_VBAP[] = I_VBAP[].
REFRESH I_VBAP.
FREE I_VBAP.
LOOP AT T_VBAP.
SELECT SINGLE VBELN FROM VBAK INTO VBAK-VBELN
WHERE VBELN = T_VBAP-VBELN.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING T_VBAP TO I_VBAP.
APPEND I_VBAP.
CLEAR I_VBAP.
ELSE.
CONTINUE.
ENDIF.
ENDLOOP.
SORT I_VBAP.
ENDFORM. "SALESDATA_VALIDATION -
What is the open purchase order
· Developed a report that displays open purchase order.
To be abit more serious, what field is feeding it? Where are you taking it from?
-
Report for open purchase order quantity
Dear experts,
Is there any report for showing open purchase order quantity for which goods are not yet received?
Regards
babuHi
ref the blw link which will have the complete sap std reports
https://www.sdn.sap.com/irj/scn/wiki?path=/display/erplo/sapStandardReports -
Report for Open Purchase Orders
how to develop a report which lists all open purchase orders for given period & plant ? plz idoint want coding .. but give me guidlines & suggestions to develop my own plz tell where could i nstart & end for this report help me sdn
Edited by: Alvaro Tejada Galindo on Jun 5, 2008 11:32 AMEither you can use ME2N with selection parameter WE101 & Scope of list BEST
or
Go to SE16
Use Table EKPO
Use Filed name ELIKZ
If you give X list of all the delivery completed items.
If you leave blank list of all Open PO items will display.
Report showing the open Purchase orders
<REMOVED BY MODERATOR>
Edited by: Alvaro Tejada Galindo on Jun 5, 2008 11:32 AM -
Open Purchase Order table.
Hi
I want to prepare a report which should display open Purchase Order quantity according to latest delivery date.
I explain with a example.
Say a material has 3 Purchase Orders with delivery date as 1st June,15th June and 20th June.Then system should pick the Purchase Order with delivery date as 1st June and it should dislay the quantity which is yet to be delivered,means there is possibility that GR has already been done for some of the quantity.
To summarize the report should pick the latest Purchase Quantity and display the quantity yet to be delivered.Can anybody let me kow the Tables to be refered fro the same.
Regards
Vaibhav MahajanHi Vaibhav
You can go to report by ME2N. Here you have multiple options for your reoport. In selection parameters you can put OPEN PO nad put the delievery date. There are many combinations available in this report.
Please let me know if it doesn't work.
Regards
SS -
SD report for the open sales orders with items
Hi,
Is there any standard SAP report which display open sales order togeather with the open items. I want to have columns target quantity, delivered quantity and open quantity.
Any tip?
BR
SasoDear Saso,
I think, instead using Report: VA05/ VA05N; its better to use Report: VL10C
In this report, you will get all the Sales Orders along with Materials - relevant for open delivery, along with Open Qty. and various other options can be selected from "Change Layout - (Ctrlt+F8)".
Best Regards,
Amit
Note: Don't maintain any Field-Entry (while executing the Report: VL10N; in order to list all Sales Orders. But, if you want to list Sales Orders based upon some criterias, maintain the Field-entries, as reqd. -
Return nothing when run Open Purchase order report(by Buyer)
We implement iPro/PO in Oracle. I finished the PO setup. But now user report that they are not able to generate any output for a particular Buyer when they run the Open Purchase Orders Report(by Buyer) report in the PO module. Even I leave the parameter wide open for the request, it also does not return any information.
Does it relate to the PO setting in system? Anyone can kindly guide me how to check such problem?Hi Kyla,
PO raised by the buyer is 'STANDARD','BLANKET','PLANNED' ? What is the PO Status..? It should be "OPEN"..
Query used in this report is as below :
Query - Company
SELECT gsb.name c_company
, fsp.inventory_organization_id c_organization_id
, gsb.currency_code C_CURRENCY_BASE
, gsb.chart_of_accounts_id STRUCTURE_ACC
, mdv.structure_id STRUCTURE_CAT
, mdv.category_set_id c_category_set_id
, flo1.meaning c_yes
, flo2.meaning c_no
FROM gl_sets_of_books gsb
, financials_system_parameters fsp
, mtl_default_sets_view mdv
, fnd_lookups flo1
, fnd_lookups flo2
WHERE gsb.set_of_books_id = fsp.set_of_books_id
AND mdv.functional_area_id = 2
AND flo1.lookup_type = 'YES_NO'
AND flo1.lookup_code = 'Y'
AND flo2.lookup_type = 'YES_NO'
AND flo2.lookup_code = 'N'
Query - Buyer
SELECT distinct(pov.vendor_name||papf.full_name)
, papf.full_name Buyer
, pov.vendor_name Vendor
, pov.vendor_id
, papf. person_id employee_id
FROM PER_ALL_PEOPLE_F PAPF
, po_vendors pov
, po_headers poh
WHERE poh.agent_id = papf.person_id
AND poh.vendor_id = pov.vendor_id
AND poh.type_lookup_code in ('STANDARD','BLANKET','PLANNED')
AND nvl(poh.closed_code,'OPEN') NOT IN ('FINALLY CLOSED', 'CLOSED')
AND nvl(poh.cancel_flag,'N') = 'N'
/* AND papf.full_name = nvl(:P_buyer,papf.full_name) */
/* Bug#2453022 Commented out the above condition and replaced
it as follows as the user parameter P_Buyer will now return the id and not the name */
AND papf.person_id = nvl(:P_buyer,papf.person_id)
AND pov.vendor_name BETWEEN nvl(:P_vendor_from,pov.vendor_name)
AND nvl(:P_vendor_to,pov.vendor_name)
AND EXISTS (select 'x'
from po_lines pol
, po_line_locations pll
, po_releases por
where pol.po_header_id = poh.po_header_id
and pol.po_line_id = pll.po_line_id
and nvl(pll.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
and nvl(pol.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
and nvl(por.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
and nvl(pll.cancel_flag,'N') = 'N'
and nvl(pol.cancel_flag,'N') = 'N'
and nvl(por.cancel_flag,'N') = 'N'
and pll.shipment_type in ('STANDARD','BLANKET','SCHEDULED')
and pll.po_release_id = por.po_release_id(+))
AND PAPF.EMPLOYEE_NUMBER IS NOT NULL
AND TRUNC(SYSDATE) BETWEEN PAPF.EFFECTIVE_START_DATE AND
PAPF.EFFECTIVE_END_DATE
AND DECODE(HR_SECURITY.VIEW_ALL ,'Y' , 'TRUE',
HR_SECURITY.SHOW_RECORD('PER_ALL_PEOPLE_F',PAPF.PERSON_ID,
PAPF.PERSON_TYPE_ID,
PAPF.EMPLOYEE_NUMBER,PAPF.APPLICANT_NUMBER )) = 'TRUE'
AND DECODE(HR_GENERAL.GET_XBG_PROFILE,'Y', PAPF.BUSINESS_GROUP_ID ,
HR_GENERAL.GET_BUSINESS_GROUP_ID) = PAPF.BUSINESS_GROUP_ID
ORDER BY papf.full_name
, pov.vendor_name
Query - PO
SELECT distinct(pol.line_num) Line
, poh.segment1 ||decode(por.release_num,null,'','-')|| por.release_num PO_Number_Release
, poh.currency_code C_CURRENCY
, plt.line_type Line_Type
, &P_FLEX_CAT C_FLEX_CAT
, &P_FLEX_ITEM C_FLEX_ITEM
, pol.item_revision Rev
, pol.item_description Description
, pol.po_header_id
, pol.po_line_id
, poh.vendor_id
, poh.agent_id
, psp.manual_po_num_type
, poh.segment1
, por.release_num
, nvl(por.po_release_id,-1) release_id
FROM po_line_locations pll
, mtl_system_items msi
, mtl_categories mca
, po_lines pol
, po_releases por
, po_headers poh
, po_line_types plt
, po_system_parameters psp
WHERE poh.po_header_id = pol.po_header_id
AND pol.po_line_id = pll.po_line_id
AND pll.po_release_id = por.po_release_id(+)
AND pol.line_type_id = plt.line_type_id
AND pol.item_id = msi.inventory_item_id(+)
AND msi.organization_id(+) = :c_organization_id
AND pol.category_id = mca.category_id
AND nvl(pll.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(pol.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(poh.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(por.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(pll.cancel_flag,'N') = 'N'
AND nvl(pol.cancel_flag,'N') = 'N'
AND nvl(poh.cancel_flag,'N') = 'N'
AND nvl(por.cancel_flag,'N') = 'N'
AND pll.shipment_type in ('STANDARD', 'BLANKET', 'SCHEDULED')
ORDER BY decode(psp.manual_po_num_type,'NUMERIC',
--bug#3614924
decode(rtrim(poh.segment1,'0123456789'),NULL,to_number(poh.segment1))
, null)
, decode(psp.manual_po_num_type,'NUMERIC',null, poh.segment1)
, por.release_num
, pol.line_num
Query - Shipment
SELECT pll.shipment_num Shipment
, nvl(pll.promised_date,pll.need_by_date) P_Date
, pol.unit_meas_lookup_code Unit
, DECODE (POL.order_type_lookup_code, /* <SERVICES FPJ> */
'RATE', PLL.amount,
'FIXED PRICE', PLL.amount,
PLL.quantity) Ordered
, DECODE (POL.order_type_lookup_code, /* <SERVICES FPJ> */
'RATE', PLL.amount_received,
'FIXED PRICE', PLL.amount_received,
PLL.quantity_received) Received
, DECODE (POL.order_type_lookup_code, /* <SERVICES FPJ> */
'RATE', PLL.amount_billed,
'FIXED PRICE', PLL.amount_billed,
PLL.quantity_billed) Billed
, pll.price_override Unit_Price
, DECODE (POL.order_type_lookup_code, /* <SERVICES FPJ> */
'RATE', (PLL.amount - NVL(PLL.amount_received, 0))/
DECODE(NVL(PLL.amount, 0), 0, 1, PLL.amount),
'FIXED PRICE', (PLL.amount - NVL(PLL.amount_received, 0))/
DECODE(NVL(PLL.amount, 0), 0, 1, PLL.amount),
(NVL(PLL.quantity, 0) - NVL(PLL.quantity_received, 0))/
DECODE (NVL(PLL.quantity, 0), 0, 1, PLL.quantity)) * 100 Percent_Due
, plc.displayed_field Open_For
, pll.po_line_id
, nvl(pll.po_release_id,-1) join_release_id
FROM po_line_locations pll
, po_lines pol
, po_lookup_codes plc
WHERE pol.po_line_id = pll.po_line_id
AND nvl(pll.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(pol.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(pll.cancel_flag,'N') = 'N'
AND nvl(pol.cancel_flag,'N') = 'N'
AND plc.lookup_type = 'DOCUMENT STATE'
AND plc.lookup_code = nvl(pll.closed_code, 'OPEN')
AND pll.shipment_type in ('STANDARD', 'BLANKET', 'SCHEDULED')
ORDER BY pll.shipment_num -
Idea/Suggestion for Report on Open Purchase Orders
Note: coding is not necesary
give me an idea /suggestions how to develop a report which lists all open purchase orders not acknowledged for different vendors plz if u give me step by step procedure it will help me in developing
Title edited by: Alvaro Tejada Galindo on Jun 5, 2008 11:23 AMHi kumar,
DEFINITION :A standing/open order is a Purchase order which has been issued to a vendor, against which specified purchases may be made for a specified period of time. When repeated purchases of the same type of supply items are expected, multiple purchase requisitions may be eliminated by submitting one purchase requisition to establish a standing/open order. This request must be accompanied by a justification memorandum. Standing purchase orders are issued for supply type items and services only.
JUSTIFICATION : Request for standing/open orders are approved by the Director of Purchasing, provided they are sufficiently justified. Purchases made by the standing/open order method are often more expensive, and should be considered carefully.
LOGIC: Open purchase orders meanse,the purchase order not realse due to some reasons.
The purchase order table EKPO (or) EKKO.
You find the both tables
fields: LOEKZ = Deletion Indicator.
ELIKZ = Delivery completion.
You checks above fields NOTEQUAl to SPACE
example: LOEKZ NE ' '
ELIKZ NE ' '
above fields equal to space that orders realsed.
example: select * from ekpo
into itab
where ebeln = pametervalue
and loekz ne ' '
and elikz ne ' '.
Above statment excutes dipalys the open purchase orders.
Thaks,
sreddy. -
I Need interactive report to list the purchase orders details for a vendor
I Need interactive report to list the purchase orders details for a vendor that has interactive drill down options to give the detail of vendor from vendor master.
Hi
see this sample report
this is Customer wise sales orders
just make similar report just using LFA1, EKKO and EKPO tables instead of KNA1,VBAK,VBAP
REPORT ZTEJ_INTAB1 LINE-SIZE 103 LINE-COUNT 35(5) NO STANDARD PAGE
HEADING.
*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 < 1 OR CUST_NO-HIGH > 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.
When you run the program, the system displays the following basic list with a the page header defined in the program:
You can trigger the AT LINE-SELECTION event by double-clicking a line. The system sets the status TEST and deactivates the function code PICK. The status TEST contains function codes FC1 to FC5. These are assigned to pushbuttons in the application toolbar. The page header of the detail list depends on the status.
Here, double-clicking a line no longer triggers an event. However, there is now an application toolbar containing five user-defined pushbuttons. You can use these to trigger the AT USER-COMMAND event. The CASE statement contains a different reaction for each pushbutton.
For each interactive event, the system decreases the SY-LSIND system field by one, thus canceling out the automatic increase. All detail lists now have the same level as the basic list and thus overwrite it. While the detail list is being created, SY-LSIND still has the value 1.
Regards
Anji -
Report with open Purchase orders and open Goods Receipt (without invoices)
Dear All,
We require a report in purchasing which will show:
1. open purchase orders
2. open goods receipts
We do not want POs and GRs that have been created into invoices to be included in the report.
At the moment we tried ME2N with RECHNUNG in selection parameters but it includes invoices. We have tried other selection parameters and reports but the results are not helpful.
I have also checked SDN but there is no correct answer. Most of them specify the ME2N with RECHNUNG as a solution but this does not work for us.
Any help would be appreciated.
G.Hi,
Try ME2N, Select WE101....Also Select ALV
go to next screen....Go to change layout
Select to be deliverd(Qty) and Value, also to be invoice(Qty) & Value.
Hope Help U!
Regards,
Pardeep Malik -
Report including open purchase order quantity for one storage location
Hello gurus,
I am looking for a report giving me the total/available stock and the open purchase order quantity for all materials stored in a certain storage location.
I.e. like this:
Plant 0001, storage loc. 01
Material stock open purchase order quantity
100000 200 pcs. 50pcs.
Is there such a report in SAP standard?
Thanks
AliciahI
U want the report like this ,
MAterial stock availablein storage location and with Open PO quantity for the same material.???
This report u can get in 2 different transaction . the n u can combine and create one custom transaction .
One is for materil stock in storage location is MB52 or MB5B
THen ME2N for open PO quantity for that material. -
Hello,
I am trying to write an open purchase orders report.
Is there any field that indicates that an purchase order item is closed or not? I tried with the EKPO-WEPOS (goods receipt indicator), but it is allwais filled.... , or EKPO-ELIKZ (delivery completed), but not working....In my case a PO item is opem if the order quantity is smaller than the goods receipt quantity.
I solved the problem in this way:
SELECT ekpomenge eketwemng FROM ekpo
join eket on ekpoebeln = eketebeln and ekpoebelp = eketebelp
INTO CORRESPONDING FIELDS OF TABLE t_comenzi
WHERE ekpo~matnr = s_matnry-matnr
AND ekpomenge < eketwemng
AND ekpo~loekz = space
AND ekpo~elikz <> 'X'
AND ekpo~werks = p_plant.
IF t_comenzi[] IS NOT INITIAL.
data diferenta like count_com.
LOOP AT t_comenzi INTO s_comenzi.
diferenta = s_comenzi-menge - s_comenzi-wemng.
count_com = count_com + diferenta.
ENDLOOP.
REFRESH t_comenzi.
ENDIF.
I hoped to find a better way, but so far is the only way... -
Table for open Purchase order and pending invoices for vendors
Hi,
Are there any table to know open Purchase orders and pending invoices for vendors.
Quick response will be appreciated.
Thanks & Regardshi,
Purchase Order:
S011:(PURCH: Purch. Group Statistics)
Statistics (SSOUR)
Version (VRSIO)
Month (SPMON)
Day (SPTAG)
Week (SPWOC)
Posting Period (SPBUP)
Purchasing Org (EKORG)
Purchasing Group (EKGRP)
Vendor No (LIFNR)
S012: (PURCHIS: Purchasing Statistics)
Statistics (SSOUR)
Version (VRSIO)
Month (SPMON)
Day (SPTAG)
Week (SPWOC)
Posting Period (SPBUP)
Purchasing Org (EKORG)
Purchasing Group (EKGRP)
Material No (MATNR)
Plant (WERKS)
Info Record Category (ESOKZ)
Material Group (MATKL)
Info Record (INFNR)
Country (LAND1)
EINE: (Purchasing Info Record: Purchasing
Organization Data)
Info Record (INFNR)
Purchasing Org (EKORG)
Info Record Type (ESOKZ)
Plant (WEKS)
EKET: (Delivery Schedules)
Purchasing Doc (EBELN)
Item (EBELP)
Delivery Schedule (ETENR)
EKPO: (Purchasing Document Item)
Purchasing Doc (EBELN)
Item (EBELP)
EKKN: (Account Assignment in Purchasing
Document)
Purchasing Doc (EBELN)
Item (EBELP)
Account Assignment (ZEKKN)
EKKO: (Purchasing Document Header)
Purchasing Doc (EBELN)
EORD: (Purchasing Source List)
Material No (MATNR)
Plant (WERKS)
Source List No (ZEORD)
thx,
Ganpat
Maybe you are looking for
-
Officejet 4620 prints from HP Printer Assistant but shows as offline for normal print jobs
I just purchased an Officejet 4620 to use wirelessly on our home network -- we have two Thinkpads running Windows 7 64-bit. I followed the installation instructions and successfully printed out test pages using both the Printer Properties page in W
-
IPod Touch 4G not showing up in My Computer (Windows 7)
Hello, I'm new to the forums and I don't know whether this is the right place for a Windows user to post a problem. If not, disregard this thread. My iPod Touch 4G doesn't always show up in My Computer making video/picture transfer impossible. So far
-
Error while testing entity service
Hi all, I created a CAF Development component and an entity service for the same. While trying test the entity service through service browser i get the follwing error : Application error occurred during request processing. Details:com.sa
-
Logoff third party applications
Hello, We have integrated a couple of SAP-independent third-party applications into SAP EP (NetWeaver 2004s SPS11) by use of appintegrator. Some of these applications are located in different domains as the portal itself. These applications have usua
-
Hi, There is a requirement to update the field BSEG-KIDNO not only for customer and vendor item but also in GL line item in an accounting document. Any advice on how to make this possible? It seems that I can't find userexit for this. I'm looking on