on 2020 Mar 20 4:34 AM
Help others by sharing your knowledge.
AnswerRequest clarification before answering.
Sorry All. I make mistake when i create Tcode. I choose dialog transaction when making tcode.it shoud be report transaction.
thanks.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
saddam.id,
Your Code designing is not right. Below are few corrections from the code you have pasted:
1) INCLUDES Must be declared before Start of Selection.
2) Events Declaration must be handled properly.
3) What you have written inside your perform defines the program functionality.
From what i see, the program has to cover a lot of basics before it is implemented. Request you to go through the forum and other tutorials that could help build your knowledge.
Below Code and Links could help you with basics:
REPORT zteszt.
*- TOP Include - for Data Declarations/Initialization etc
INCLUDE ztest_top.
*- Selection Screen
INCLUDE ztest_f01.
*- Sub-routines
INCLUDE ztest_f02.
*-Initialization
INITIALIZATION.
PERFORM Initial.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR field.
* To Display the Section Values.
PERFORM f_Test_display.
* To Modify Screen output
AT SELECTION-SCREEN OUTPUT.
PERFORM Validation.
AT SELECTION-SCREEN.
* Check Section Value
PERFORM check_section.
*-Start of Selection
START-OF-SELECTION.
*-Read Data from DB
PERFORM f_read_data.
*-Display the ALV
PERFORM f_display_alv.
Regards!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
i hve change my code like below.
TYPE-POOLS: slis.
TYPES: BEGIN OF ty_main,
vbeln TYPE vbap-vbeln,
posnr TYPE vbap-posnr,
matnr TYPE vbap-matnr,
arktx TYPE vbap-arktx,
posex TYPE vbap-posex,
kwmeng TYPE vbap-kwmeng,
vrkme TYPE vbap-vrkme,
audat TYPE vbak-audat,
auart TYPE vbak-auart,
waerk TYPE vbak-waerk,
vkorg TYPE vbak-vkorg,
bstnk TYPE vbak-bstnk,
name1 TYPE kna1-name1,
stras TYPE kna1-stras,
ort01 TYPE kna1-ort01,
land1 TYPE kna1-land1,
vbeln_od TYPE lips-vbeln,
posnr_od TYPE lips-posnr,
lfimg TYPE lips-lfimg,
vrkme_od TYPE lips-vrkme,
bldat TYPE likp-bldat,
wadat TYPE likp-wadat,
lfart TYPE likp-lfart,
wadat_ist TYPE likp-wadat,
fkdat TYPE vbrk-fkdat,
fkart TYPE vbrk-fkart,
fksta TYPE vbup-fksta,
wbsta TYPE vbup-wbsta,
p_kunnr_se TYPE vbrk-kunrg,
p_kunnr_sp TYPE vbak-kunnr,
END OF ty_main.
DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
gd_repid TYPE sy-repid,
gd_layout TYPE slis_layout_alv,
g_save TYPE c VALUE 'X',
g_variant TYPE disvariant,
gx_variant TYPE disvariant.
DATA : it_main TYPE STANDARD TABLE OF ty_main WITH HEADER LINE,
wa_main TYPE ty_main.
SELECT-OPTIONS: p_vkorg FOR it_main-vkorg,
p_kunnr1 FOR it_main-p_kunnr_se,
p_kunnr2 FOR it_main-p_kunnr_sp.
**GETTING DEFAULT VARIANT
INITIALIZATION.
gx_variant-report = sy-repid.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant
EXCEPTIONS
not_found = 2.
* IF sy-subrc = 0.
* variant = gx_variant-variant.
* ENDIF.
START-OF-SELECTION.
PERFORM fm_get_data.
PERFORM fm_build_fcat.
PERFORM fm_display_alv.
FORM fm_get_data.
SELECT a~vbeln, a~posnr, a~posex, a~matnr, a~arktx, a~kwmeng, a~vrkme,
b~audat, b~auart, b~bstnk, b~vkorg, b~waerk,
c~name1, c~stras, c~ort01, c~land1,
d~vbeln AS vbeln_od, d~posnr AS posnr_od, d~lfimg, d~vrkme AS vrkme_od,
e~bldat, e~lfart, e~wadat_ist, e~wadat,
g~fkart, g~fkdat,
i~wbsta, i~fksta
FROM vbap AS a
JOIN vbak AS b ON a~vbeln = b~vbeln
JOIN kna1 AS c ON b~kunnr = c~kunnr
LEFT JOIN lips AS d ON a~vbeln = d~vgbel AND a~posnr = d~vgpos
JOIN likp AS e ON d~vbeln = e~vbeln
LEFT JOIN vbrp AS f ON f~vgbel = d~vbeln AND f~vgpos = d~posnr
JOIN vbrk AS g ON g~vbeln = f~vbeln
JOIN vbpa AS h ON b~vbeln = h~vbeln
JOIN vbup AS i ON i~vbeln = h~vbeln AND i~posnr = h~posnr
INTO CORRESPONDING FIELDS OF TABLE @it_main
WHERE b~vkorg = @p_vkorg AND
h~kunnr = @p_kunnr1 AND
h~parvw = 'SE' AND
b~kunnr = @p_kunnr2 AND
i~fksta <> 'C'.
ENDFORM.
FORM fm_build_fcat .
fieldcatalog-fieldname = 'AUDAT'.
fieldcatalog-seltext_m = 'SO Date'.
fieldcatalog-col_pos = 0.
fieldcatalog-key = 'X'.
fieldcatalog-outputlen = 12.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'AUART'.
fieldcatalog-seltext_m = 'SO Type'.
fieldcatalog-col_pos = 1.
fieldcatalog-key = 'X'.
fieldcatalog-outputlen = 12.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'VBELN'.
fieldcatalog-seltext_m = 'SO Number'.
fieldcatalog-col_pos = 2.
fieldcatalog-key = 'X'.
fieldcatalog-outputlen = 12.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'POSNr'.
fieldcatalog-seltext_m = 'SO Item'.
fieldcatalog-col_pos = 3.
fieldcatalog-key = 'X'.
fieldcatalog-outputlen = 12.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'BSTNK'.
fieldcatalog-seltext_m = 'PO Customer'.
fieldcatalog-col_pos = 4.
fieldcatalog-key = 'X'.
fieldcatalog-outputlen = 12.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
ENDFORM.
FORM fm_display_alv .
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = gd_repid
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
it_fieldcat = fieldcatalog[]
i_default = 'X'
I_SAVE = 'A'
IS_VARIANT = g_variant
TABLES
t_outtab = it_main
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM.
I know it is for helping new developper, but this way of coding is outdated
You need to move your INCLUDE zots01_fm_build_fcat to INCLUDE zots01_fm_display_alv.
after thad if didn't work then show your all source program...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Because it does not find the ALV Grid
Why do you put the include at the end of the program ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
47 | |
6 | |
6 | |
5 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.