You are on page 1of 5

‫‪.

‬במדריך זה אראה כיצד לאפשר רק את התאים הספציפיים של רשת שניתן לערוך‬

‫נרצה ‪-'A',‬ראשית אכין כמה נתוני הדגמה‪ .‬זו תהיה רשימה של חומרים ומצב התחזוקה שלהם‪ .‬אם הסטטוס מוגדר ל‬
‫‪.‬להשבית את עריכת הסטטוס ברשת‬

‫)‪ PSTAT_D‬סוג( ‪) PSTAT‬מפתח ראשי ‪ MATNR,‬סוג( ‪MATNR‬‬

‫‪123456 K‬‬

‫‪654321 E‬‬

‫ד ‪567890‬‬

‫ב ‪876543‬‬

‫'א ‪900000‬‬

‫‪.‬שלנו ‪-ALV‬כעת אנו יוצרים קבוצת פונקציות עם מסך (כלומר ‪ )0200‬שבה נצייר את רשת ה‬

‫‪ GO_GRID_CONTAINER.‬בעורך פריסת המסך צור מיכל מותאם אישית ושם לו‪ ,‬כלומר‬

‫‪- REFRESH‬ו ‪: UPDATE‬מותאם אישית עם שתי פונקציות ‪ PF-STATUS‬צור גם‬

‫‪:‬היגיון הזרימה של המסך יהיה פשוט‬

‫‪.‬תהליך לפני הפלט‬

‫‪MODULE pbo_0200.‬‬

‫*‬

‫‪.‬תהליך לאחר קלט‬

‫‪MODULE pai_0200.‬‬

‫הנה הקוד שלה ‪-ALV.‬משמש לאיסוף נתונים‪ ,‬יצירת קטלוג שדות והצגת ה ‪ PBO_0200‬מודול‬

‫‪.‬פלט ‪MODULE pbo_0200‬‬

‫‪:‬נתונים‬

‫‪ls_layout TYPE lvc_s_layo,‬‬

‫‪.‬שונה ‪ls_variant TYPE‬‬

‫‪:‬סמלי שדות‬

‫‪<fs_fcat> TYPE lvc_s_fcat.‬‬

‫‪:‬בסטטוס משתמש זה אנו יוצרים שתי פונקציות *‬

‫עדכון ‪ -‬שמור את כל השינויים ורענן את הרשת *‬

‫‪-Z-table‬רענון רשת עם נתונים מ ‪* REFRESH -‬‬

‫‪ PF-STATUS 'PF_STATUS'.‬הגדר‬
‫יצירה ראשונית של מיכל ורשת *‬

‫‪.‬הוא ראשוני ‪ gr_container‬אם‬

‫‪CREATE OBJECT gr_container‬‬

‫יצוא‬

‫‪ Layout‬זוהי התייחסות לאובייקט שיצרנו בעורך *‬

‫‪container_name = 'GO_GRID_CONTAINER'.‬‬

‫הורה הוא המיכל שלנו שנוצר לעיל *‬

‫‪CREATE OBJECT gr_grid‬‬

‫יצוא‬

‫‪i_parent = gr_container.‬‬

‫יצירת קטלוג שדות הפשוטה ביותר *‬

‫'‪ 'LVC_FIELDCATALOG_MERGE‬התקשר לפונקציה‬

‫יצוא‬

‫'‪i_structure_name = 'ZMATSTAT‬‬

‫ִמׁשְתַ נֶה‬

‫‪ct_fieldcat = gt_fieldcat.‬‬

‫!!!חשוב !!!*‬

‫!!!עלינו לסמן את כל העמודות הנדרשות כניתנות לעריכה *‬

‫‪ fieldname = 'PSTAT'.‬עם מפתח >‪ <fs_fcat‬הקצאת ‪ gt_fieldcat‬קרא את הטבלה‬

‫‪<fs_fcat>-edit = abap_true.‬‬

‫טען נתונים ממסד הנתונים וסמן את *‬

‫‪-R/O‬שדה מתאים כ *‬

‫‪ reload_data.‬בצע‬

‫)‪ (RW / RO‬הגדר את שם השדה הנושא מידע על סגנונות תאים *‬

‫‪ls_layout-stylefname = 'CELL_STYLES'.‬‬
ls_variant-report = sy-repid.

ls_variant-username = sy-uname.

*!!! ‫!!!חשוב‬

* ‫ אנו רושמים את אירוע‬ENTER ‫כך שהמדריך משתנה‬

* ‫מופצים בחזרה ל‬-GT_DATA

gr_grid->register_edit_event( i_event_id = cl_gui_alv_grid=>mc_evt_enter ).

* ‫צייר את ה‬-ALV

gr_grid->set_table_for_first_display(

‫יצוא‬

is_layout = ls_layout

is_variant = ls_variant

i_save = 'A'

i_default = 'X'

‫ִמׁשְתַ נֶה‬

it_fieldcatalog = gt_fieldcat

it_outtab = gt_data ).

ENDIF.

ENDMODULE. " PBO_0200 ‫פלט‬

‫ מודול‬PAI_0200 ‫משמש לעיבוד אינטראקציה של משתמשים וכאן מופיע הקוד שלו‬

MODULE pai_0200 ‫קלט‬.

‫נתונים‬:

l_matstat TYPE zmatstat.

‫סמלי שדות‬:

<fs_data> LIKE LINE OF gt_data.

CASE sy-ucomm.

‫'כאשר 'חזרה' או 'עזוב' או 'ביטול‬.

0 ‫הגדר מסך‬.
‫'כאשר 'עדכון‬.

* ‫ עדכון‬DB Z-table

LOOP AT gt_data ASSIGNING <fs_data> ‫ כאשר‬matnr ‫אינו ראשוני‬.

‫תאמת‬-‫< העבר‬fs_data> ‫ל‬-l_matstat.

‫ שנה‬zmatstat ‫מ‬-l_matstat.

ENDLOOP.

* ‫טען מחדש את מסד הנתונים של הנתונים וסמן את‬

* ‫ שדות מתאימים כמו‬R/O

‫ בצע‬reload_data.

gr_grid->refresh_table_display( ).

‫'כאשר 'רענן‬.

‫ בצע‬reload_data.

gr_grid->refresh_table_display( ).

ENDCASE.

ENDMODULE. " PAI_0200 ‫קלט‬

‫ המסייע‬FORM RELOAD_DATA ‫בלבד‬/‫משמש לאיסוף נתונים ממסד הנתונים ולסמן את השדות המתאימים כקריאה‬

‫ טופס‬reload_data.

‫נתונים‬:

l_lvc_s_styl TYPE lvc_s_styl.

‫סמלי שדות‬:

<fs_data> LIKE LINE OF gt_data.

‫ נקה‬gt_data[].

* ‫קרא את הנתונים‬

‫* בחר‬

‫ לתוך שדות תואמים של‬TABLE gt_data

‫מ‬-zmatstat.
* ‫ גלגל על כל שורות הנתונים והגדר‬PSTAT

* ‫כ‬-R/O ‫' = במקרה שהערך שלו‬A'

LOOP AT gt_data

‫< הקצאת‬fs_data>

WHERE pstat = 'A'.

l_lvc_styl-style = cl_gui_alv_grid=>mc_style_disabled.

l_lvc_styl-fieldname = 'PSTAT'.

* ‫ יש להשתמש בפקודה‬INSERT

* ‫ כי השדה‬CELL_STYLES ‫הוא טבלה ממוינת‬

INSERT l_lvc_styl INTO TABLE <fs_data>-cell_styles.

ENDLOOP.

ENDFORM. "‫טעינת_נתונים מחדש‬

‫אם נתקשר כעת למסך שלנו מ‬-ABAP, ‫נקבל את הדברים הבאים‬:

Mais sobre o texto originalÉ necessário fornecer o texto original para ver mais informações
sobre a tradução

Enviar feedback

Painéis laterais

You might also like