‎2007 Oct 24 5:00 AM
This is lalitha .
Here's my prg .
This report is for sales order with Display, change, exit buttons .
In my program when i executed, I got a message that 'status menu1 of the user interface in the report is misssing .
My question is where am i wrong in the report?
how to get display , change, and exit buttons in my output .
REPORT ZPRO_REPORT02
NO standard PAGE HEADING .
TABLES: VBAK,
VBAP,
LIKP,
KNA1,
VBFA,
VBUK,
VBUV .
**************DATA DECLARATION*******
SET pf-status 'MENU1' .
TYPES: BEGIN OF TY_VBAK,
VBELN TYPE VBAK-VBELN,
ERDAT TYPE VBAK-ERDAT,
KUNNR TYPE VBAK-KUNNR,
VKORG TYPE VBAK-VKORG,
END OF TY_VBAK .
DATA: W_VBAK TYPE TY_VBAK .
DATA: T_VBAK TYPE TY_VBAK OCCURS 1 .
TYPES: BEGIN OF TY_VBAP,
VBELN TYPE VBAP-VBELN,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
ARKTY TYPE VBAP-ARKTX,
LPRIO TYPE VBAP-LPRIO,
END OF TY_VBAP .
DATA: W_VBAP TYPE TY_VBAP .
DATA: T_VBAP TYPE TY_VBAP OCCURS 1 .
TYPES: BEGIN OF TY_FINAL,
CHK,
VBELN TYPE VBAK-VBELN,
KUNNR TYPE VBAK-KUNNR,
NAME1 TYPE vbak-bname,
ERDAT TYPE VBAK-ERDAT,
VKORG TYPE VBAK-VKORG,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
ARKTX TYPE vbap-arktx,
LPRIO TYPE VBAP-LPRIO,
DLNUM TYPE LIKP-VBELN,
INNUM TYPE VBRK-VBELN,
END OF TY_FINAL .
DATA: W_FINAL TYPE TY_FINAL .
DATA: T_FINAL TYPE TY_FINAL OCCURS 1 .
DATA: STATUS TYPE VBUK-GBSTK .
DATA: CFIELD(20),
CVALUE(15) .
*************SELECTION OPTIONS**********
SELECT-OPTIONS: S_ORDER FOR VBAK-VBELN
DEFAULT 3000 TO 5000 ,
S_CDATE FOR VBAK-ERDAT,
S_CUSTNO FOR VBAK-KUNNR,
S_DLNUM FOR LIKP-VBELN,
S_SLORG FOR VBAK-VKORG .
************SELECTION-SCREEN**********
AT SELECTION-SCREEN .
IF S_CUSTNO IS NOT INITIAL .
SELECT SINGLE KUNNR
FROM VBAK
INTO VBAK-KUNNR
WHERE KUNNR IN S_CUSTNO .
ENDIF .
IF sy-subrc <> 0 .
MESSAGE E002(ZLALI) .
ENDIF.
IF s_order IS NOT INITIAL .
SELECT SINGLE VBELN
FROM VBAK
INTO VBAK-VBELN
WHERE VBELN IN S_ORDER .
ENDIF .
IF sy-subrc <> 0 .
MESSAGE E002(ZLALI) .
ENDIF.
IF S_CDATE IS NOT INITIAL .
SELECT SINGLE ERDAT
FROM VBAK
INTO VBAK-ERDAT
WHERE ERDAT IN S_CDATE .
ENDIF .
IF sy-subrc <> 0 .
MESSAGE E002(ZLALI) .
ENDIF.
IF s_slorg IS NOT INITIAL .
SELECT SINGLE VKORG
FROM VBAK
INTO VBAK-VKORG
WHERE VKORG IN S_SLORG .
ENDIF .
IF SY-SUBRC <> 0 .
MESSAGE E002(ZLALI) .
ENDIF.
*****TOP-OF-PAGE********
top-of-page .
ULINE .
WRITE: /5 'ORDER NUMBER',
10 'CUSTOMER NUMBER',
25 'customer name',
55 'CREATED DATe',
69 'SORG',
75 'ITEMNO',
85 'MATERIAL NO',
105 'DESCRIPTION',
135 'PRIORITY',
145 'DELIVERY NO',
155 'INVOICENO' .
ULINE .
**********END OF PAGE*********
END-OF-PAGE .
ULINE .
WRITE: /10 'END OF PAGE' .
ULINE .
*********DATA EXTRACTION********
start-of-selection.
SELECT VBELN
ERDAT
KUNNR
VKORG
FROM VBAK
INTO CORRESPONDING FIELDS OF TABLE T_VBAK
WHERE VBELN IN S_ORDER AND ERDAT
IN S_CDATE
AND KUNNR IN S_CUSTNO AND
VKORG IN S_SLORG .
IF NOT T_VBAK IS INITIAL .
SELECT VBELN
POSNR
MATNR
ARKTX
LPRIO
FROM VBAP
INTO TABLE T_VBAP
FOR ALL ENTRIES IN T_VBAK
WHERE VBELN = T_VBAK-VBELN .
ENDIF .
LOOP AT T_VBAK INTO W_VBAK .
SELECT SINGLE GBSTK
FROM VBUK
INTO STATUS
WHERE VBELN = W_VBAK-VBELN .
IF STATUS = 'C' .
LOOP AT T_VBAP INTO W_VBAP WHERE
VBELN = W_VBAK-VBELN .
SELECT SINGLE VBELN FROM VBFA
INTO W_FINAL-DLNUM
WHERE VBELN = W_VBAK-VBELN
AND VBTYP_N = 'J' .
SELECT SINGLE VBELN FROM VBFA
INTO W_FINAL-INNUM
WHERE VBELN = W_VBAK-VBELN
AND VBTYP_N = 'M' .
SELECT SINGLE NAME1 FROM KNA1
INTO W_FINAL-NAME1
WHERE KUNNR = W_VBAK-KUNNR .
MOVE-CORRESPONDING W_VBAK TO W_FINAL .
MOVE-CORRESPONDING W_VBAP TO W_FINAL .
APPEND W_FINAL TO T_FINAL .
CLEAR W_FINAL .
ENDLOOP .
ENDIF .
ENDLOOP .
************DISPLAY DATA**********
PERFORM display_data.
*******at user command*******
at user-command .
get cursor field cfield value cvalue .
case sy-ucomm .
when 'DISPLAY' .
case cfield .
when 'w_final-vbeln ' .
set parameter id 'aun' field cvalue .
call transaction 'va03' and skip first screen .
when 'w_final-kunnr ' .
set parameter id 'kun' field cvalue .
call transaction 'xd03' and skip first screen .
when 'w_final-dlnum' .
set parameter id'vl' field cvalue .
call transaction 'vlo3' and skip first screen .
when 'w_final-innum' .
set parameter id 'vf' field cvalue .
call transaction 'vfo3' and skip first screen .
when others .
message e002(zlali) .
endcase .
when 'change' .
get cursor field cfield value cvalue .
case cfield .
when 'w_final-vbeln' .
set parameter id 'aun' field cvalue .
call transaction 'va02' and skip first screen .
when 'w_final-kunnr' .
set parameter id 'kun' field cvalue .
call transaction 'xd02' and skip first screen .
when 'w_final-dlnum' .
set parameter id 'vf' field cvalue .
call transaction 'vf02' and skip first screen .
when 'back' .
set screen 0 .
when 'exit' .
leave program .
when others .
message e004(zlal05) .
endcase .
LOOP AT T_FINAL INTO W_FINAL .
w_final-chk = 'x' .
modify t_final from w_final transporting chk .
endloop .
perform display_data.
when 'all' .
loop at t_final into w_final .
w_final-chk = ' ' .
modify t_final from w_final transporting chk .
endloop .
perform display_data.
when 'exit' .
leave program .
endcase .
*******from to display data ***********
form display_data .
loop at t_final into w_final .
SET LEFT scroll-boundary COLUMN 75 .
WRITE: /3 w_final-chk as checkbox,
5 W_FINAL-VBELN,
10 W_FINAL-NAME1,
25 W_FINAL-ERDAT,
55 W_FINAL-VKORG,
69 W_FINAL-POSNR,
75 W_FINAL-MATNR,
85 w_final-arktx,
105 W_FINAL-LPRIO,
135 w_final-dlnum,
145 W_FINAL-INNUM .
ENDLOOP .
endform .
‎2007 Oct 24 5:02 AM
Hi,
SET pf-status 'MENU1' .
This statement dhould be in start of selection event not in data declaration.
Regards,
Raghavendra
‎2007 Oct 24 5:43 AM
Hi,
The PF-STATUS should be in start of selection..........
<b>reward points if useful.</b>
regards,
Vinod Samuel.
‎2007 Oct 24 12:56 PM
Hi Lalitha,
SET pf-status 'MENU1' statement should be in the start of selection.
Reward if Useful.
Regards,
Chitra