Академический Документы
Профессиональный Документы
Культура Документы
*
*
*
*
*
*
*
WHEN 'POST'.
**Call Bapi To Post The Document**
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'GET'.
REFRESH gt_tc.
IF gt_tc IS INITIAL.
PERFORM get_data.
IF gt_feature IS NOT INITIAL.
PERFORM prepare_data.
ELSE.
REFRESH gt_tc.
MESSAGE 'No Data Exists' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF.
ENDIF.
WHEN 'ENTER'.
WHEN 'SALL'.
LOOP AT gt_tc INTO gs_tc.
gs_tc-sel = 'X'.
MODIFY gt_tc FROM gs_tc INDEX sy-tabix TRANSPORTING sel.
ENDLOOP.
WHEN 'DALL'.
LOOP AT gt_tc INTO gs_tc.
gs_tc-sel = ' '.
MODIFY gt_tc FROM gs_tc INDEX sy-tabix TRANSPORTING sel.
ENDLOOP.
WHEN 'EDIT'.
ENDCASE.
ENDMODULE.
" USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*&
Module GET_RECORD OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE get_record OUTPUT.
* DATA: lv_tfill TYPE sy-tfill.
* DESCRIBE TABLE gt_tc LINES lv_tfill.
* IF tc-current_line LE lv_tfill.
READ TABLE gt_tc INTO gs_tc INDEX tc-current_line.
READ TABLE gt_feature INTO gs_feature INDEX tc-current_line.
IF gs_feature-max_month = 0.
LOOP AT SCREEN.
IF screen-name = 'GS_TC-ARTICLES'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF gs_tc-edit = 'X'.
LOOP AT SCREEN.
IF screen-name = 'GS_TC-PRICE'.
screen-input = 1.
MODIFY SCREEN.
ELSEIF screen-name = 'GS_TC-PAGE'.
screen-input = 1.
MODIFY SCREEN.
ELSEIF screen-name = 'GS_TC-SUPPLEMENT'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
* IF gs_tc-lifnr IS INITIAL.
*
LOOP AT SCREEN.
*
CHECK screen-group1 = 'GRP'.
*
screen-input = 0.
*
MODIFY SCREEN.
*
ENDLOOP.
* ENDIF.
ENDMODULE.
*&---------------------------------------------------------------------*
*&
Module SAVE_RECORD INPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE save_record INPUT.
DATA: lv_netwr TYPE p LENGTH 15 DECIMALS 4."netwr.
gs_tc-code = gs_tc-code.
IF NOT gs_tc-articles IS INITIAL
AND gs_tc-price_art IS NOT INITIAL.
READ TABLE gt_feature INTO gs_feature WITH KEY lifnr = gs_tc-lifnr
valid_from = gs_tc-valid_from
valid_to = gs_tc-valid_to.
IF gs_tc-articles LE gs_feature-max_month.
IF gs_feature-articles = 0.
gs_feature-articles = 1.
ENDIF.
lv_netwr = gs_feature-price_art / gs_feature-articles.
gs_tc-price_art = gs_tc-articles * lv_netwr.
IF sy-subrc <> 0.
READ TABLE gt_park1 INTO gs_park2 WITH KEY lifnr = gs_feature-lifnr.
IF sy-subrc = 0.
gs_tc-lifnr = gs_park2-lifnr.
gs_tc-name = gs_park2-name.
gs_tc-valid_from = gs_park2-valid_from.
gs_tc-valid_to = gs_park2-valid_to.
*
IF gs_park2-articles = 0.
gs_tc-price = gs_park2-price.
*
gs_tc-price = gs_park2-price_art.
*
ENDIF.
gs_tc-edit = ' '.
gs_tc-code = gs_park-code.
*
gs_tc-articles = gs_feature-articles.
gs_tc-price_art = gs_feature-price_art.
gs_tc-page = gs_park2-zpage.
gs_tc-supplement = gs_park2-supplement.
gs_tc-edition = gs_park2-edition.
gs_tc-park_date = gs_park2-park_date.
*
gs_tc-articles = gs_feature-articles.
ELSE.
gs_tc-lifnr = gs_feature-lifnr.
gs_tc-name = gs_feature-name.
gs_tc-valid_from = gs_feature-valid_from.
gs_tc-valid_to = gs_feature-valid_to.
IF gs_feature-articles = '0'.
gs_tc-price_art = gs_feature-price_art.
gs_tc-price = gs_feature-price_art.
ELSE.
*
gs_tc-articles = gs_feature-articles.
gs_tc-price_art = gs_feature-price_art.
*
gs_tc-price = gs_feature-price_art.
ENDIF.
gs_tc-edit = ' '.
gs_tc-code = ' '.
gs_tc-page = gs_feature-zpage.
gs_tc-supplement = gs_feature-supplement.
gs_tc-edition = gs_feature-edition.
gs_tc-park_date = sy-datum.
*
gs_tc-valid_from = gs_feature-valid_from.
*
gs_tc-valid_to = gs_feature-valid_to.
ENDIF.
APPEND gs_tc TO gt_tc.
CLEAR: gs_feature, gs_tc.
ENDIF.
ENDLOOP.
ENDFORM.
" PREPARE_DATA
*&---------------------------------------------------------------------*
*&
Form GET_DATA
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM get_data .
REFRESH gt_feature.
* IF date1 IS INITIAL.
*
SELECT *
*
FROM zfm_feature_mstr CLIENT SPECIFIED
*
INTO TABLE gt_feature
*
WHERE mandt = sy-mandt.
* ELSEIF date IS NOT INITIAL.
SELECT *
FROM zfm_feature_mstr CLIENT SPECIFIED
INTO TABLE gt_feature
WHERE mandt = sy-mandt
AND valid_from LE date2
AND valid_to GE date1.
SELECT *
FROM zfm_feature_park CLIENT SPECIFIED
INTO TABLE gt_park1
WHERE mandt = sy-mandt
AND park_date BETWEEN date1 AND date2
AND post_date = '00000000'.
* ENDIF.
ENDFORM.
" GET_DATA