Posted: Fri Feb 10, 2012 11:11 pm Post subject: Ввод данных с применением Table Control
Здравствуйте, уважаемые эксперты.
Помогите с решением такой задачи (см. скрин)
Создал экранную таблицу. Мне необходимо ввести туда несколько строк значений. При вводе в первый столбец определенного значения в других столбцах напротив этого значения появляются информационные данные об этом значении, как на рисунке. Но как только я ввожу другое значение во вторую строку и нажимаю ввод, то это значение перескакивает в первую строку и уже показывает данные этого значения.
Понятно что при обработке таблицы я работаю с рабочей областью. Но как мне её зафиксировать в первой строке, что бы она осталась и дальше вводить N-е кол-во значений в последующих строках. Подскажите где рыть? курс ВС410 читал. Наверное плохо.
Code:
REPORT ZTRANSF message-id zardm.
TABLES: ZTRANS, ZISSRET, ZARD.
CONTROLS TRANS TYPE TABLEVIEW USING SCREEN 0100.
TYPES: BEGIN OF T_TRANS,
CLIENT TYPE ZTRANS-CLIENT,
STOCKNO TYPE ZTRANS-STOCKNO,
CC TYPE ZTRANS-CC,
LOC TYPE ZTRANS-LOC,
LOC_TR TYPE ZTRANS-LOC,
QOH_TR TYPE ZTRANS-QOH,
QOH TYPE ZTRANS-QOH,
UOM TYPE ZTRANS-UOM,
UOMRU TYPE ZTRANS-UOMRU,
FULLDESC TYPE ZTRANS-FULLDESC,
FULLDERU TYPE ZTRANS-FULLDERU,
MARK TYPE CHAR1,
END OF T_TRANS.
CONSTANTS: CONST_X(1) TYPE C VALUE 'X'.
DATA: ITR TYPE TABLE OF T_TRANS,
"ITR_NEW TYPE TABLE OF T_TRANS,
"ITR_DEL TYPE TABLE OF T_TRANS,
WA_TR TYPE T_TRANS,
ITR_Z TYPE TABLE OF ZISSRET,
WA_Z LIKE LINE OF ITR_Z.
DATA: AKTINDEX LIKE SY-TABIX VALUE 1.
DATA: MSIDX LIKE SY-TABIX,
READ_INDEX LIKE SY-TABIX.
DATA: CURFIELD(30) TYPE C.
DATA: LOOP_ZEILE LIKE SY-STEPL.
DATA: OK_CODE TYPE SY-UCOMM,
LOC_TR TYPE ZTRANS-LOC,
ST TYPE I,
QOH_TR(10) TYPE C,
ITR_LINES LIKE SY-LOOPC,
ITR_TOPLINE LIKE SY-LOOPC,
LINES TYPE I,
CONF.
*-------------------------------------------------------------------------------
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
MODULE GET_LINES.
LOOP AT ITR INTO WA_TR WITH CONTROL TRANS CURSOR TRANS-CURRENT_LINE.
MODULE READ_TABLE_V.
ENDLOOP.
MODULE SET_CURSOR_TR.
*
PROCESS AFTER INPUT.
LOOP AT ITR.
CHAIN.
FIELD ZTRANS-STOCKNO.
FIELD ZTRANS-CC.
MODULE TRANS_MODIFY ON CHAIN-REQUEST.
ENDCHAIN.
FIELD WA_TR-MARK
MODULE TRANS_MODIFY INPUT.
MOVE-CORRESPONDING ZTRANS TO WA_TR.
READ TABLE ITR INTO WA_TR WITH KEY STOCKNO = WA_TR-STOCKNO.
MODIFY ITR FROM WA_TR INDEX TRANS-CURRENT_LINE.
IF SY-SUBRC NE 0.
APPEND WA_TR TO ITR.
ENDIF.
IF LOC_TR = SPACE.
SET CURSOR FIELD 'LOC_TR' LINE SY-STEPL.
MODULE TRANS_MARK_TC INPUT.
DATA: WA2 LIKE LINE OF ITR.
IF TRANS-LINE_SEL_MODE = 1
AND WA_TR-MARK = 'X'.
LOOP AT ITR INTO WA2
WHERE MARK = 'X'.
WA2-MARK = ''.
MODIFY ITR FROM WA2 TRANSPORTING MARK.
ENDLOOP.
ENDIF.
MODIFY ITR
FROM WA_TR
INDEX TRANS-CURRENT_LINE
TRANSPORTING MARK.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.