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

select-options

Former Member
0 Likes
755

SELECT-OPTIONS: p_fileid FOR gdf_fileid

OBLIGATORY

NO INTERVALS.

i defined the variant above.

some error happened as following.

step1. i input some fileid in the select screen, one of them is not exist in related table.

step2: enter or F8 , the message popup : ' fileid xxx exist'

the unexist fileid will be displayed in the input text.

step3: delete the fileid.

step4: when i click the right button of select-option. a message popup

' the message is neccessory to be input'.

why, how to solve the problem. i wanna open the dialog then return to the select screen.

7 REPLIES 7
Read only

Former Member
0 Likes
732

Hi,

please check your declarations

what is gdf_fileid?

select-options : s_matnr for mara-matnr.

Regards

Shiva

Read only

0 Likes
732

gdf_fileid TYPE zel06t002-fileid. "fileid

Read only

0 Likes
732

Hi,

have you written any code in at selection screen for validation of the same

regards

Shiva

Read only

0 Likes
732

source code,please do me a favor

INITIALIZATION.

  • 初期化

PERFORM init_params.

AT SELECTION-SCREEN OUTPUT.

  • 送信日付が当日また当日以前の「未処理」ものを抽出

PERFORM get_misyori_data.

AT SELECTION-SCREEN.

  • 入力チェック

PERFORM check_input

CHANGING gdt_zel06t002. "UK送信管理テーブル

*&----


*

*& Include ZEL03M0018F01

*&----


*

  • 画面チェック *

*&----


*

*&----


*

*& Form init_params

*&----


*

  • 選択画面入力前処理

*----


*

FORM init_params .

  • データ宣言

DATA:

lds_uk_management TYPE gts_zel06t002, "UK送信管理作業領域

ldt_uk_management TYPE gtt_zel06t002, "UK送信管理データ

lds_fileid TYPE gts_fileid, "ファイルID用作業領域

ldf_lines TYPE i, "データセットの件数

ldf_year_from(4) TYPE c, "From年

ldf_month_from(2) TYPE c, "From月

ldf_day_from(2) TYPE c, "From日

ldf_year_to(4) TYPE c, "To年

ldf_month_to(2) TYPE c, "To月

ldf_day_to(2) TYPE c. "To日

REFRESH gdt_uk_management.

* パラメータ制御

PERFORM control_parameter.

  • UK送信管理データの検索

SELECT seqno "連番

datab "FROM日付

datbi "TO日付

fileid "ファイルID

f_proc "処理区分

dattr "送信日付

insertdate "登録日

compdate "処理完了日

INTO CORRESPONDING FIELDS OF TABLE gdt_uk_management

FROM zel06t002

WHERE f_proc = gcf_null "空白

AND dattr <= sy-datum. "&#12471;&#12473;&#12486;&#12512;&#26085;&#20184;

  • &#24403;&#35442;&#12524;&#12467;&#12540;&#12489;&#12398;&#12300;FILEID&#12301;&#12399;&#12502;&#12521;&#12531;&#12463;&#12394;&#22580;&#21512;&#12289;&#12524;&#12467;&#12540;&#12489;&#12434;&#21066;&#38500;&#12377;&#12427;

DELETE gdt_uk_management WHERE fileid = gcf_null. "&#31354;&#30333;

  • &#12501;&#12449;&#12452;&#12523;ID&#20214;&#25968;&#12398;&#21462;&#24471;

DESCRIBE TABLE gdt_uk_management LINES ldf_lines.

  • &#12487;&#12540;&#12479;&#12364;&#21462;&#24471;&#12391;&#12365;&#12383;&#22580;&#21512;

IF ldf_lines > 0.

CLEAR lds_uk_management.

  • &#30011;&#38754;&#38917;&#30446;&#20986;&#21147;&#20516;&#12434;&#21462;&#24471;&#12377;&#12427;

READ TABLE gdt_uk_management INDEX 1

INTO lds_uk_management.

  • From&#26085;&#20184;

ldf_year_from = lds_uk_management-datab(4).

ldf_month_from = lds_uk_management-datab+4(2).

ldf_day_from = lds_uk_management-datab+6(2).

  • &#30011;&#38754;&#38917;&#30446;&#12300;From&#12301;&#35373;&#23450;&#12377;&#12427;

CONCATENATE ldf_year_from "From&#24180;

gcf_slash "Slash

ldf_month_from "From&#26376;

gcf_slash "Slash

ldf_day_from "From&#26085;

INTO p_datab.

  • To&#26085;&#20184;

ldf_year_to = lds_uk_management-datbi(4).

ldf_month_to = lds_uk_management-datbi+4(2).

ldf_day_to = lds_uk_management-datbi+6(2).

  • &#30011;&#38754;&#38917;&#30446;&#12300;To&#12301;&#35373;&#23450;&#12377;&#12427;

CONCATENATE ldf_year_to "To&#24180;

gcf_slash "Slash

ldf_month_to "To&#26376;

gcf_slash "Slash

ldf_day_to "To&#26085;

INTO p_datbi.

ENDIF. "ldf_lines > 0

  • &#35079;&#25968;&#12524;&#12467;&#12540;&#12489;&#12364;&#25277;&#20986;&#12373;&#12428;&#12383;&#22580;&#21512;&#12399;&#20197;&#19979;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#20986;&#21147;&#12377;&#12427;

IF ldf_lines > 1.

MESSAGE s319(zel0305).

  • &#26410;&#20966;&#29702;&#12487;&#12540;&#12479;&#12364;&#35079;&#25968;&#12354;&#12426;&#12414;&#12377;&#12290;&#23550;&#35937;&#12434;&#30906;&#35469;&#12375;&#12390;&#19979;&#12373;&#12356;&#12290;

ENDIF. "ldf_lines > 1

ENDFORM. " init_params

*&----


*

*& Form control_parameter

*&----


*

  • &#12497;&#12521;&#12513;&#12540;&#12479;&#21046;&#24481;

*----


*

FORM control_parameter .

* &#12487;&#12540;&#12479;&#23459;&#35328;

TYPE-POOLS sscr.

DATA:

lds_restrict TYPE sscr_restrict, "&#12497;&#12521;&#12513;&#12540;&#12479;&#21046;&#38480;&#24773;&#22577;

lds_opt_list TYPE sscr_opt_list, "&#12458;&#12503;&#12471;&#12519;&#12531;&#19968;&#35239;

lds_ass TYPE sscr_ass. "&#12458;&#12502;&#12472;&#12455;&#12463;&#12488;&#21106;&#24403;&#29992;

CONSTANTS: lcf_name_fileid TYPE sscr_opt_list-name VALUE 'P_FILEID'. "&#12501;&#12449;&#12452;&#12523;ID

  • &#12501;&#12449;&#12452;&#12523;ID&#12458;&#12503;&#12471;&#12519;&#12531;&#12475;&#12483;&#12488;

lds_opt_list-name = 'JUST_EQ'. "JUST_EQ

lds_opt_list-options-eq = gcf_on. "X

lds_opt_list-options-bt = gcf_null. "null

lds_opt_list-options-cp = gcf_null. "null

lds_opt_list-options-ge = gcf_null. "null

lds_opt_list-options-gt = gcf_null. "null

lds_opt_list-options-le = gcf_null. "null

lds_opt_list-options-lt = gcf_null. "null

APPEND lds_opt_list TO lds_restrict-opt_list_tab.

  • &#12501;&#12449;&#12452;&#12523;ID&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#21106;&#24403;

lds_ass-kind = gcf_msgty. "S

lds_ass-name = lcf_name_fileid. "P_FILEID

lds_ass-sg_main = gcf_i. "I

lds_ass-sg_addy = gcf_null. "null

lds_ass-op_main = 'JUST_EQ'. "JUST_EQ

lds_ass-op_addy = gcf_null. "null

APPEND lds_ass TO lds_restrict-ass_tab.

  • &#12458;&#12503;&#12471;&#12519;&#12531;&#21046;&#38480;&#12514;&#12472;&#12517;&#12540;&#12523;&#21628;&#20986;

CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'

EXPORTING

restriction = lds_restrict. "&#12497;&#12521;&#12513;&#12540;&#12479;&#21046;&#38480;&#24773;&#22577;

ENDFORM. " control_parameter

*&----


*

*& Form check_input

*&----


*

  • &#36984;&#25246;&#30011;&#38754;&#20837;&#21147;&#24460;&#20966;&#29702;

*----


*

  • <--PRT_ZEL06T002 &#65333;&#65323;&#36865;&#20449;&#31649;&#29702;&#12486;&#12540;&#12502;&#12523;

*----


*

FORM check_input CHANGING prt_zel06t002 TYPE gtt_zel06t002.

  • &#12487;&#12540;&#12479;&#23459;&#35328;

DATA:

ldf_check(1) TYPE c, "flag

lds_zel06t002 TYPE gts_zel06t002, "&#65333;&#65323;&#36865;&#20449;&#31649;&#29702;&#20316;&#26989;&#38936;&#22495;

ldf_year_from(4) TYPE c, "From&#24180;

ldf_month_from(2) TYPE c, "From&#26376;

ldf_day_from(2) TYPE c, "From&#26085;

ldf_year_to(4) TYPE c, "To&#24180;

ldf_month_to(2) TYPE c, "To&#26376;

ldf_day_to(2) TYPE c, "To&#26085;

ldf_answer(1) TYPE c, "&#12522;&#12479;&#12540;&#12531;&#12467;&#12540;&#12489;: '1'&#12289;'2'

f_flag(1) TYPE c. "&#22793;&#25968;1

  • &#20250;&#31038;&#12467;&#12540;&#12489;&#12481;&#12455;&#12483;&#12463;

SELECT COUNT(*)

BYPASSING BUFFER

FROM t001

WHERE bukrs = p_bukrs. "&#20250;&#31038;&#12467;&#12540;&#12489;

  • &#21028;&#26029;

IF sy-dbcnt = 0.

MESSAGE e333(zel0305) WITH p_bukrs.

  • &#25351;&#23450;&#12373;&#12428;&#12383;&#20250;&#31038;&#12467;&#12540;&#12489;&#12288;&1&#12288;&#12399;&#23384;&#22312;&#12375;&#12414;&#12379;&#12435;&#12290;

ENDIF.

  • UK&#36865;&#20449;&#31649;&#29702;&#12487;&#12540;&#12479;&#12398;&#26908;&#32034;

SELECT seqno "&#36899;&#30058;

fileid "&#12501;&#12449;&#12452;&#12523;ID

datab "From&#26085;&#20184;

datbi "To&#26085;&#20184;

f_proc "&#20966;&#29702;&#21306;&#20998;

dattr "&#36865;&#20449;&#26085;&#20184;

insertdate "&#30331;&#37682;&#26085;

INTO CORRESPONDING FIELDS OF TABLE prt_zel06t002

FROM zel06t002

WHERE fileid IN p_fileid. "fileid

* &#21028;&#26029;

IF sy-subrc <> 0.

CLEAR p_datab.

CLEAR p_datbi.

MESSAGE e331(zel0305).

  • &#12501;&#12449;&#12452;&#12523;ID&#12399;&#23384;&#22312;&#12375;&#12414;&#12379;&#12435;

ENDIF.

  • loop

CLEAR ldf_check.

LOOP AT p_fileid.

READ TABLE prt_zel06t002 WITH KEY fileid = p_fileid-low

TRANSPORTING NO FIELDS.

  •  &#21028;&#26029;

IF sy-subrc <> 0.

ldf_check = gcf_on. "X

EXIT.

ENDIF.

ENDLOOP.

  • &#21028;&#26029;

IF ldf_check = gcf_on. "X

CLEAR p_datab.

CLEAR p_datbi.

MESSAGE e331(zel0305).

  • &#12501;&#12449;&#12452;&#12523;ID&#12399;&#23384;&#22312;&#12375;&#12414;&#12379;&#12435;

ENDIF.

  • &#30011;&#38754;&#38917;&#30446;&#20986;&#21147;&#20516;&#12434;&#21462;&#24471;&#12377;&#12427;

READ TABLE prt_zel06t002 INDEX 1

INTO lds_zel06t002.

  • From&#26085;&#20184;

ldf_year_from = lds_zel06t002-datab(4).

ldf_month_from = lds_zel06t002-datab+4(2).

ldf_day_from = lds_zel06t002-datab+6(2).

  • &#30011;&#38754;&#38917;&#30446;&#12300;From&#12301;&#35373;&#23450;&#12377;&#12427;

CONCATENATE ldf_year_from "From&#24180;

gcf_slash "Slash

ldf_month_from "From&#26376;

gcf_slash "Slash

ldf_day_from "From&#26085;

INTO p_datab.

  • To&#26085;&#20184;

ldf_year_to = lds_zel06t002-datbi(4).

ldf_month_to = lds_zel06t002-datbi+4(2).

ldf_day_to = lds_zel06t002-datbi+6(2).

  • &#30011;&#38754;&#38917;&#30446;&#12300;To&#12301;&#35373;&#23450;&#12377;&#12427;

CONCATENATE ldf_year_to "To&#24180;

gcf_slash "Slash

ldf_month_to "To&#26376;

gcf_slash "Slash

ldf_day_to "To&#26085;

INTO p_datbi.

  • &#12523;&#12540;&#12503;&#20966;&#29702;

LOOP AT prt_zel06t002 INTO lds_zel06t002 WHERE f_proc <> gcf_null.

MOVE gcf_on TO f_flag. "X

EXIT.

ENDLOOP.

* &#21028;&#26029;

IF f_flag = gcf_on. "X

  • &#12509;&#12483;&#12503;&#12450;&#12483;&#12503;&#12395;&#12390;&#30906;&#35469;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#20986;&#21147;&#12377;&#12427;

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

text_question = text-008 "&#12480;&#12452;&#12450;&#12525;&#12464;&#12508;&#12483;&#12463;&#12473;&#20869;&#12398;&#36074;&#21839;&#12486;&#12461;&#12473;&#12488;

text_button_1 = '&#12399;&#12356;' "&#31532; 1 &#25276;&#12508;&#12479;&#12531;&#12398;&#12486;&#12461;&#12473;&#12488;

text_button_2 = '&#12356;&#12356;&#12360;' "&#31532; 2 &#25276;&#12375;&#12508;&#12479;&#12531;&#12398;&#12486;&#12461;&#12473;&#12488;

default_button = '2' "&#12459;&#12540;&#12477;&#12523;&#20301;&#32622;

display_cancel_button = '' "&#21462;&#28040;&#25276;&#12508;&#12479;&#12531;&#34920;&#31034;&#29992;&#12398;&#12508;&#12479;&#12531;

start_column = 25 "POPUP &#12398;&#38283;&#22987;&#21015;

start_row = 8 "POPUP &#12398;&#38283;&#22987;&#34892;

IMPORTING

answer = ldf_answer "&#12522;&#12479;&#12540;&#12531;&#12467;&#12540;&#12489;: '1'&#12289;'2'

EXCEPTIONS

text_not_found = 1

OTHERS = 2.

  •  &#21028;&#26029;

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

  •  &#21028;&#26029;

IF ldf_answer <> 1.

LEAVE SCREEN.

ENDIF.

ENDIF.

* &#22770;&#19978;&#36865;&#20449;&#12501;&#12521;&#12464;&#12289;&#22312;&#24235;&#36865;&#20449;&#12501;&#12521;&#12464;&#12289;&#12393;&#12385;&#12425;&#12418;&#12481;&#12455;&#12483;&#12463;&#12364;&#20837;&#12387;&#12390;&#12356;&#12394;&#12356;&#22580;&#21512;

IF p_sales = gcf_null "&#31354;&#30333;

AND p_stock = gcf_null. "&#31354;&#30333;

MESSAGE e332(zel0305).

  • &#36865;&#20449;&#23550;&#35937;&#12434;&#36984;&#25246;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;

ENDIF.

ENDFORM. " check_input

*&----


*

*& Form get_misyori_data

*&----


*

  • text

*----


*

  • --> p1 text

  • <-- p2 text

*----


*

FORM get_misyori_data .

  • &#12487;&#12540;&#12479;&#23459;&#35328;

DATA:

lds_fileid TYPE gts_fileid, "&#12501;&#12449;&#12452;&#12523;ID&#29992;&#20316;&#26989;&#38936;&#22495;

lds_uk_management TYPE gts_zel06t002. "&#65333;&#65323;&#36865;&#20449;&#31649;&#29702;&#20316;&#26989;&#38936;&#22495;

CLEAR p_fileid[].

LOOP AT gdt_uk_management INTO lds_uk_management.

MOVE:

'I' TO lds_fileid-sign, "Sign

'EQ' TO lds_fileid-option, "Option

lds_uk_management-fileid TO lds_fileid-low. "Low&#20516;

APPEND lds_fileid TO p_fileid.

ENDLOOP.

ENDFORM. " get_misyori_data

Read only

0 Likes
732

Hi

FORM get_misyori_data .

  • &#12487;&#12540;&#12479;&#23459;&#35328;

DATA:

lds_fileid TYPE gts_fileid, "&#12501;&#12449;&#12452;&#12523;ID&#29992;&#20316;&#26989;&#38936;&#22495;

lds_uk_management TYPE gts_zel06t002. "&#65333;&#65323;&#36865;&#20449;&#31649;&#29702;&#20316;&#26989;&#38936;&#22495;

SELECT seqno "&#36899;&#30058;

datab "FROM&#26085;&#20184;

datbi "TO&#26085;&#20184;

fileid "&#12501;&#12449;&#12452;&#12523;ID

f_proc "&#20966;&#29702;&#21306;&#20998;

dattr "&#36865;&#20449;&#26085;&#20184;

insertdate "&#30331;&#37682;&#26085;

compdate "&#20966;&#29702;&#23436;&#20102;&#26085;

INTO CORRESPONDING FIELDS OF TABLE gdt_uk_management

FROM zel06t002

WHERE f_proc = gcf_null "&#31354;&#30333;

AND dattr <= sy-datum. "&#12471;&#12473;&#12486;&#12512;&#26085;&#20184;

CLEAR p_fileid[].

<b>LOOP AT gdt_uk_management INTO lds_uk_management.</b>

MOVE:

'I' TO lds_fileid-sign, "Sign

'EQ' TO lds_fileid-option, "Option

lds_uk_management-fileid TO lds_fileid-low. "Low&#20516;

APPEND lds_fileid TO p_fileid.

ENDLOOP.

ENDFORM. " get_misyori_data

<b>LOOP AT gdt_uk_management INTO lds_uk_management.</b>

the internal table gdt_uk_management will be empty till it comes to start of selection write the code to get the same value into the same.

regards

Shiva

Read only

0 Likes
732

Hi,

is it solved?

regards

Shiva

Read only

0 Likes
732

still not be sloved