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

logic

Former Member
0 Likes
578

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.

3 REPLIES 3
Read only

Former Member
0 Likes
527

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

Read only

0 Likes
527

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

Read only

Former Member
0 Likes
527

Hi

Are u using sy-subrc after the select statements.

If the select statement is success then only display the data.