‎2008 Aug 12 12:30 PM
hi all i'm working on lfa1, lfb1, lfm1 table, when i've give the values in selection screen
for eg if i give bukrs as 100.
its display the values of 100 as well as other values.
how to avoid this...
check out the code below
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS : s_lifnr FOR lfa1-lifnr,
s_bukrs FOR lfb1-bukrs,
s_ernam FOR lfa1-ernam,
s_ekorg FOR lfm2-ekorg.
SELECTION-SCREEN SKIP 1.
PARAMETERS p_sum RADIOBUTTON GROUP r1 DEFAULT 'X'.
PARAMETERS p_det RADIOBUTTON GROUP r1.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
IF p_sum = 'X'.
select alifnr bbukrs from lfa1 as a
inner join lfb1 as b on alifnr = blifnr
into corresponding fields of table it_lfa1
where a~lifnr in s_lifnr and
b~bukrs in s_bukrs.
SELECT lifnr name1 ktokk kunnr erdat loevm ernam FROM lfa1
INTO TABLE it_lfa1
WHERE lifnr IN s_lifnr AND
ernam IN s_ernam.
IF it_lfa1[] IS NOT INITIAL.
SELECT lifnr bukrs FROM lfb1
INTO CORRESPONDING FIELDS OF TABLE it_lfb1
FOR ALL ENTRIES IN it_lfa1
WHERE lifnr = it_lfa1-lifnr AND
bukrs IN s_bukrs.
SELECT lifnr ekorg FROM lfm1
INTO CORRESPONDING FIELDS OF TABLE it_lfm1
FOR ALL ENTRIES IN it_lfa1
WHERE lifnr = it_lfa1-lifnr AND
ekorg IN s_ekorg.
SELECT lifnr j_1ipanno FROM j_1imovend
INTO CORRESPONDING FIELDS OF TABLE it_j_1imovend
FOR ALL ENTRIES IN it_lfa1
WHERE lifnr = it_lfa1-lifnr.
ENDIF.
‎2008 Aug 12 12:35 PM
Hi,
lfb1-bukrs , Just check the table lfb1 and copy bukrs as it's from there , means if it's 00100 then put value of bukrs as 00100.
Plz check it and if it wouldnot work , let me know.
Regards,
Gulrez
‎2008 Aug 12 12:40 PM
execute the following code...
give values in selection screen , based on tht its not fetching the values.......
TYPE-POOLS : slis.
TABLES : lfa1,
lfb1,
lfm2.
TYPES : BEGIN OF ty_lfa1,
lifnr TYPE lifnr,
name1 TYPE name1_gp,
ktokk TYPE ktokk,
kunnr TYPE kunnr,
erdat TYPE erdat_rf,
loevm TYPE loevm_x,
ernam TYPE ernam_rf,
anred TYPE anred,
name2 TYPE name2_gp,
name3 TYPE name3_gp,
name4 TYPE name4_gp,
ort01 TYPE ort01_gp,
pstlz TYPE pstlz,
land1 TYPE land1_gp,
regio TYPE regio,
telf1 TYPE telf1,
telf2 TYPE telf2,
telfx TYPE telfx,
adrnr TYPE adrnr,
stceg TYPE stceg,
bukrs type bukrs,
ekorg type ekorg,
END OF ty_lfa1,
BEGIN OF ty_lfb1,
lifnr TYPE lifnr,
bukrs TYPE bukrs,
akont TYPE akont,
zuawa TYPE dzuawa,
zterm TYPE dzterm,
togru TYPE togru,
zwels TYPE dzwels,
zahls TYPE dzahls,
busab TYPE busab,
END OF ty_lfb1,
BEGIN OF ty_lfm2,
lifnr TYPE lifnr,
ekorg TYPE ekorg,
END OF ty_lfm2,
BEGIN OF ty_j_1imovend,
lifnr TYPE lifnr,
j_1ipanno TYPE j_1ipanno,
j_1isern TYPE j_1isern,
END OF ty_j_1imovend,
BEGIN OF ty_t005t,
spras TYPE spras,
land1 TYPE land1,
landx TYPE landx,
END OF ty_t005t,
BEGIN OF ty_t005u,
spras TYPE spras,
land1 TYPE land1,
bland TYPE regio,
bezei TYPE bezei20,
END OF ty_t005u,
BEGIN OF ty_adr6,
addrnumber TYPE ad_addrnum,
smtp_addr TYPE ad_smtpadr,
END OF ty_adr6,
BEGIN OF ty_lfbk,
lifnr TYPE lifnr,
bankl TYPE bankl,
bankn TYPE bankn,
END OF ty_lfbk,
BEGIN OF ty_bnka,
bankl TYPE bankl,
brnch TYPE brnch,
swift TYPE swift,
bnklz TYPE bankl,
END OF ty_bnka,
BEGIN OF ty_lfbw,
lifnr TYPE lifnr,
witht TYPE witht,
qsrec TYPE wt_qsrec,
wt_exnr TYPE wt_exnr,
END OF ty_lfbw,
BEGIN OF ty_lfb5,
lifnr TYPE lifnr,
mahna TYPE mahna,
mansp TYPE mansp,
END OF ty_lfb5,
begin of ty_lfm1,
LIFNR type ELIFN,
WAERS type BSTWA,
INCO2 type INCO2,
KALSK type KALSK,
VERKF type EVERK,
EKORG type EKORG,
end of ty_lfm1.
DATA : BEGIN OF it_final OCCURS 0,
lifnr LIKE lfa1-lifnr,
name1 LIKE lfa1-name1,
ktokk LIKE lfa1-ktokk,
erdat LIKE lfa1-erdat,
name2 LIKE lfa1-name2,
name3 LIKE lfa1-name3,
name4 LIKE lfa1-name4,
ort01 LIKE lfa1-ort01,
anred LIKE lfa1-anred,
pstlz LIKE lfa1-pstlz,
telf1 LIKE lfa1-telf1,
telf2 LIKE lfa1-telf2,
telfx LIKE lfa1-telfx,
stceg LIKE lfa1-stceg,
LOEVM like lfa1-LOEVM,
bukrs LIKE lfb1-bukrs,
akont LIKE lfb1-akont,
zuawa LIKE lfb1-zuawa,
zterm LIKE lfb1-zterm,
togru LIKE lfb1-togru,
zwels LIKE lfb1-zwels,
zahls LIKE lfb1-zahls,
busab LIKE lfb1-busab,
ekorg LIKE lfm1-ekorg,
landx LIKE t005t-landx,
bezei LIKE t005u-bezei,
smtp_addr LIKE adr6-smtp_addr,
j_1isern LIKE j_1imovend-j_1isern,
j_1ipanno LIKE j_1imovend-j_1ipanno,
bankl LIKE lfbk-bankl,
bankn LIKE lfbk-bankn,
brnch LIKE bnka-brnch,
swift LIKE bnka-swift,
bnklz LIKE bnka-bnklz,
witht LIKE lfbw-witht,
qsrec LIKE lfbw-qsrec,
wt_exnr LIKE lfbw-wt_exnr,
mahna LIKE lfb5-mahna,
mansp LIKE lfb5-mansp,
waers like lfm1-waers,
inco2 like lfm1-inco2,
kalsk like lfm1-kalsk,
verkf like lfm1-verkf,
pan(3) TYPE c,
venact(3) TYPE c,
vendat TYPE i,
cust(3) TYPE c,
temp(3) TYPE c,
END OF it_final.
DATA : it_lfa1 TYPE STANDARD TABLE OF ty_lfa1 WITH HEADER LINE,
it_lfb1 TYPE STANDARD TABLE OF ty_lfb1 WITH HEADER LINE,
it_lfm2 TYPE STANDARD TABLE OF ty_lfm2 WITH HEADER LINE,
it_j_1imovend TYPE STANDARD TABLE OF ty_j_1imovend WITH HEADER LINE,
it_t005t TYPE STANDARD TABLE OF ty_t005t WITH HEADER LINE,
it_t005u TYPE STANDARD TABLE OF ty_t005u WITH HEADER LINE,
it_adr6 TYPE STANDARD TABLE OF ty_adr6 WITH HEADER LINE,
it_lfbk TYPE STANDARD TABLE OF ty_lfbk WITH HEADER LINE,
it_bnka TYPE STANDARD TABLE OF ty_bnka WITH HEADER LINE,
it_lfbw TYPE STANDARD TABLE OF ty_lfbw WITH HEADER LINE,
it_lfb5 TYPE STANDARD TABLE OF ty_lfb5 WITH HEADER LINE,
it_lfm1 TYPE STANDARD TABLE OF ty_lfm1 WITH HEADER LINE.
it_check TYPE STANDARD TABLE OF ty_check WITH HEADER LINE.
DATA : it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv,
it_layout TYPE slis_layout_alv.
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS : s_lifnr FOR lfa1-lifnr,
s_bukrs FOR lfb1-bukrs,
s_ernam FOR lfa1-ernam,
s_ekorg FOR lfm2-ekorg.
SELECTION-SCREEN SKIP 1.
PARAMETERS p_sum RADIOBUTTON GROUP r1 DEFAULT 'X'.
PARAMETERS p_det RADIOBUTTON GROUP r1.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
IF p_sum = 'X'.
select a~lifnr b~bukrs from lfa1 as a
inner join lfb1 as b on a~lifnr = b~lifnr
into corresponding fields of table it_lfa1
where a~lifnr in s_lifnr and
b~bukrs in s_bukrs.
SELECT lifnr name1 ktokk kunnr erdat loevm ernam FROM lfa1
INTO TABLE it_lfa1
WHERE lifnr IN s_lifnr AND
ernam IN s_ernam.
IF it_lfa1[] IS NOT INITIAL.
SELECT lifnr bukrs FROM lfb1
INTO CORRESPONDING FIELDS OF TABLE it_lfb1
FOR ALL ENTRIES IN it_lfa1
WHERE lifnr = it_lfa1-lifnr AND
bukrs IN s_bukrs.
SELECT lifnr ekorg FROM lfm1
INTO CORRESPONDING FIELDS OF TABLE it_lfm1
FOR ALL ENTRIES IN it_lfa1
WHERE lifnr = it_lfa1-lifnr AND
ekorg IN s_ekorg.
*
*select alifnr aname1 aktokk akunnr aerdat aloevm aernam bbukrs c~ekorg
from lfa1 as a
inner join lfb1 as b on alifnr = blifnr
inner join lfm2 as c on alifnr = clifnr
into corresponding fields of table it_check
where a~lifnr in s_lifnr and
a~ernam in s_ernam and
b~bukrs in s_bukrs and
c~ekorg in s_ekorg.
SELECT lifnr j_1ipanno FROM j_1imovend
INTO CORRESPONDING FIELDS OF TABLE it_j_1imovend
FOR ALL ENTRIES IN it_lfa1
WHERE lifnr = it_lfa1-lifnr.
ENDIF.
LOOP AT it_lfa1.
it_final-lifnr = it_lfa1-lifnr.
it_final-name1 = it_lfa1-name1.
it_final-ktokk = it_lfa1-ktokk.
it_final-erdat = it_lfa1-erdat.
DATA: l_vadat TYPE dats,
zvendat TYPE i.
l_vadat = it_lfa1-erdat.
PERFORM w_date_calculations USING l_vadat
sy-datum.
it_final-vendat = zvendat.
IF it_lfa1-loevm IS INITIAL.
it_final-venact = 'YES'.
ELSE.
it_final-venact = 'NO'.
ENDIF.
IF it_lfa1-kunnr IS NOT INITIAL.
it_final-cust = 'YES'.
ELSE.
it_final-cust = 'NO'.
ENDIF.
READ TABLE it_lfm1 WITH KEY lifnr = it_lfa1-lifnr.
IF sy-subrc = 0.
it_final-ekorg = it_lfm1-ekorg.
ENDIF.
READ TABLE it_lfb1 WITH KEY lifnr = it_lfa1-lifnr.
IF sy-subrc = 0.
it_final-bukrs = it_lfb1-bukrs.
ENDIF.
READ TABLE it_j_1imovend WITH KEY lifnr = it_lfa1-lifnr.
if sy-subrc = 0.
IF it_j_1imovend IS NOT INITIAL.
it_final-pan = 'YES'.
ELSE.
it_final-pan = 'NO'.
ENDIF.
endif.
delete it_final where bukrs is initial.
delete it_final where ekorg is initial.
APPEND it_final.
CLEAR : it_j_1imovend, it_final, zvendat, it_lfb1-bukrs.
ENDLOOP.
PERFORM sub_fieldcatlog_summary TABLES it_fieldcat
USING wa_fieldcat.
&----
*& Form W_DATE_CALCULATIONS
&----
text
----
-->P_L_VADAT text
-->P_VENDAT text
----
FORM w_date_calculations USING p_l_vadat
p_vendat.
CALL FUNCTION 'C14B_DIFF_BT_2_DATES'
EXPORTING
i_date_from = l_vadat
i_date_to = sy-datum
IMPORTING
e_days = zvendat
E_MONTHS =
E_YEARS =
EXCEPTIONS
PLAUSIBILITY_CHECK_FAILED = 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. " W_DATE_CALCULATIONS
&----
*& Form SUB_FIELDCATLOG_SUMMARY
&----
text
----
-->P_IT_FIELDCAT text
-->P_WA_FIELDCAT text
----
FORM sub_fieldcatlog_summary TABLES p_it_fieldcat STRUCTURE wa_fieldcat
USING p_wa_fieldcat TYPE slis_fieldcat_alv.
wa_fieldcat-fieldname = 'BUKRS'.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-seltext_m = 'Company Code'.
wa_fieldcat-col_pos = 0.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'EKORG'.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-seltext_m = 'Purchase Org'.
wa_fieldcat-col_pos = 1.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'KTOKK'.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-seltext_m = 'Account Group'.
wa_fieldcat-col_pos = 2.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'LIFNR'.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-seltext_m = 'Vendor Code'.
wa_fieldcat-no_zero = 'X'.
wa_fieldcat-col_pos = 3.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'NAME1'.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-seltext_l = 'Name of the Vendor'.
wa_fieldcat-col_pos = 4.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'PAN'.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-seltext_l = 'Is Pan Number Updated'.
wa_fieldcat-col_pos = 5.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'VENACT'.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-seltext_l = 'Is Vendor Active'.
wa_fieldcat-col_pos = 6.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'VENDAT'.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-seltext_l = 'Vendor active since in Days'.
wa_fieldcat-col_pos = 7.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'CUST'.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-seltext_l = 'Is this Vendor is a Customer'.
wa_fieldcat-col_pos = 8.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = sy-cprog
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
i_grid_title = sy-title
I_GRID_SETTINGS =
is_layout = it_layout
it_fieldcat = it_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
i_save = 'X'
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
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. "SUB_FIELDCATLOG_SUMMARY
‎2008 Aug 12 12:56 PM
Hi
Are u using sy-subrc after the select statements.
If the select statement is success then only display the data.