SAP ABAP: "рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдЧреНрд░реБрдк" рдХреЛ рд╕рдордЭрдирд╛ (saptechnical.com рд╕реЗ рдЕрдиреБрд╡рд╛рджрд┐рдд)

рддреНрдпрд╛рдЧ
рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЗрдЦ рдФрд░ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реВрдВ рдФрд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА SAP ABAP рд╡рд┐рдХрд╛рд╕ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рд░реВрд╕реА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рдХрд╛рдлреА рдХрдард┐рди рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рд╡реНрдпрд╛рдЦреНрдпрд╛рдПрдВ рднреНрд░рдо рдкреИрджрд╛ рдХрд░рддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЙрджреНрдзреГрдд рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдкреЛрд╕реНрдЯ рдЕрддреАрдд рдХреЗ рд╕рд╛рде рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдУрд╡рд░рд▓реИрдк рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЪреЗрдХрдкреЙрдЗрдВрдЯ рд╕рдореВрд╣ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рд╡рд╣рди рдХрд░рддреА рд╣реИ


рдЪреМрдХреА рд╕рдореВрд╣ рдХрд╛ рдкрд░рд┐рдЪрдп


рдЪреЗрдХрдкреЙрдЗрдВрдЯ рд╕рдореВрд╣ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореВрд▓ рд░реВрдк рд╕реЗ SAP рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ (SAP WebAS) 6.20 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЯреАрдХрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдХреНрд╖реЗрддреНрд░ рдФрд░ рдЪрд░ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЙрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде, рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд╛рд░реНрдп рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддреА рд╣реИ рдФрд░ ABAP рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреА рд╣реИред рд╕рддреНрдпрд╛рдкрди рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмреАрдЪ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реИред рд▓реЗрди-рджреЗрди SAAB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдкреНрд░рдмрдВрдзрд┐рддред

рдЪреЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рдХреЛ BREAK-POINTS рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдФрд░ ASSERT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдореВрд╣ рд▓реЙрдЧ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП LOG-POINT рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред

ASSERT рдХреЗ рдмрдпрд╛рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ
SAP рдЗрд╕ рдХрдерди рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ:
ASSERT [[ID group [SUBKEY subkey]] [FIELDS field1 field2 table1 table2...] CONDITION] log_exp. 


ASSERT BREAK-POINT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреА рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдкреНрд░рддрд┐ рд╣реИред рдСрдкрд░реЗрдЯрд░ рдХреЛ рдЙрддреНрдкрд╛рджрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЖрдкреВрд░реНрддрд┐ рдХрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреЛрдб рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВред рдЪреЗрдХрдкреЙрдЗрдВрдЯ рд╕рдореВрд╣ рд╕рдХреНрд░рд┐рдп рд╣реЛрдиреЗ рдкрд░ рд╣реА рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдСрдкрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕реВрдЪреА рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред

SAAB рд▓реЗрдирджреЗрди рдореЗрдВ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рд╕рдореВрд╣реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдФрд░ рд╕рдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрддреНрдкрдиреНрди рдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ ASSERT рдФрд░ BREAK-POINT рдХрдердиреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдореВрд╣ рдЖрдИрдбреА рдирд┐рд░реНрдорд╛рдг рдЪрд░рдг рдХреЗ рджреМрд░рд╛рди SAAB рд▓реЗрдирджреЗрди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред

рдЫрд╡рд┐

рдХреНрд░рд┐рдПрдЯ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдЧреНрд░реБрдк рдХреЗ рдореБрдЦреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрди рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рд╕рдХреНрд░рд┐рдп рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП 3 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
  1. рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдХреНрд░рд┐рдпрддрд╛
  2. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрддрд░ рдХреА рд╕рдХреНрд░рд┐рдпрддрд╛;
  3. рд╕рд░реНрд╡рд░ рд╕реНрддрд░ рд╕рдХреНрд░рд┐рдпрдгред


рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдХреНрд░рд┐рдпрдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдореВрд╣ рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрддрд░ - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рд╕реНрддрд░ - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдЙрджрд╛рд╣рд░рдг:
рдЫрд╡рд┐

рдЙрджрд╛рд╣рд░рдг рд╕рд░реНрд╡рд░ рдкрд░рд┐рднрд╛рд╖рд╛:
рдЫрд╡рд┐

рдЪреЗрдХрдЧреНрд░реБрдк рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ:
рдЫрд╡рд┐

BREAK-POINT рдХреЛ рд╕рдХреНрд░рд┐рдп рдпрд╛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ BREAK-POINT рд╕рдХреНрд░рд┐рдп рд╣реИ, рддреЛ рдЗрд╕ рдХрдерди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░ рдбреАрдмрдЧрд░ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

BREAK-POINT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ:
 BREAK-POINT { [ID groupID] | [log text] }. Ex. BREAK-POINT ID YH_check. 


рдпрджрд┐ рдЖрдк рдЖрдИрдбреА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдмрд┐рдВрджреБ рдХреЛ рдмрд┐рдирд╛ рд╢рд░реНрдд (рдирд┐рд░рдВрддрд░ рд╕реНрдерд┐рддрд┐ рд╕рдХреНрд░рд┐рдп рд╣реИ) рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдкрд╛рда 'рд▓реЙрдЧ рдкрд╛рда' рд▓реЙрдЧ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкреГрд╖реНрдарднреВрдорд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдкрд░ рдмрд╛рдзрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (рд▓реЙрдЧ) рдореЗрдВ рдкреНрд░рд╡реЗрд╢ "рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рдкрд╣реБрдВрдЪ рдЧрдпрд╛" рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдирд╛рдо рдФрд░ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХреЗ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рдж, ASSERT рдХреЗ рдмрдпрд╛рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдСрдкрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рддреАрди рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ рд╣реИрдВ:


рдкреГрд╖реНрдарднреВрдорд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рджреЛ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрднрд╡ рд╣реИрдВ:


рдЫрд╡рд┐

ASSERT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд:
  1. рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдмрдЬрд╛рдп ASSERT рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред
  2. ASSERT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╕реНрдЯрдо рдХреЛрдб рдореЗрдВ рд╣реА рдХрд░реЗрдВред
  3. рдЬрдм ASSERT рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЙрдЧ рдПрдВрдЯреНрд░реА рдЬрдирд░реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИрдВред


LOG-POINT рдФрд░ ASSERT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо:
 REPORT yh1316_test_checkgrp.. ** Parameters Declarations PARAMETERS: p_carrid LIKE sflight-carrid. *data : max type i. *Types Declarations of sflight TYPES : BEGIN OF type_s_sflight, carrid TYPE sflight-carrid, connid TYPE sflight-connid, fldate TYPE sflight-fldate, price TYPE sflight-price, max TYPE i, END OF type_s_sflight. *Field String Declarations for sflight DATA: fs_sflight TYPE type_s_sflight. *Internal table for Sflight Data DATA : t_sflight LIKE STANDARD TABLE OF fs_sflight. DATA yh1316_subkey TYPE char200. IF p_carrid IS INITIAL. SELECT carrid connid fldate price FROM sflight INTO fs_sflight. WRITE: / fs_sflight-carrid, fs_sflight-connid, fs_sflight-fldate, fs_sflight-price. APPEND fs_sflight TO t_sflight. ASSERT ID yh1316_check SUBKEY 'YH1316_parameter_if_initial' FIELDS p_carrid t_sflight fs_sflight-carrid fs_sflight-connid fs_sflight-fldate fs_sflight-price condition p_carrid eq 'LH' . ENDSELECT. ASSERT ID yh1316_check SUBKEY 'YH1316_1' FIELDS p_carrid t_sflight CONDITION p_carrid EQ 'LH' . EXIT. ELSE. ASSERT ID yh1316_check SUBKEY 'YH1316_2' FIELDS p_carrid t_sflight CONDITION p_carrid EQ 'LH'. SELECT carrid connid fldate MAX( price ) AS max INTO CORRESPONDING FIELDS OF fs_sflight FROM sflight WHERE carrid EQ p_carrid GROUP BY carrid connid fldate ORDER BY carrid max DESCENDING. IF sy-dbcnt < 4. APPEND fs_sflight TO t_sflight. LOG-POINT ID yh1316_check SUBKEY 'LOG_POINT' FIELDS p_carrid t_sflight fs_sflight-connid fs_sflight-fldate fs_sflight-max. WRITE: / fs_sflight-carrid, fs_sflight-connid, fs_sflight-fldate, fs_sflight-max. ENDIF. ENDSELECT. ENDIF. 


рдЪреЗрдХрдЧреНрд░реБрдк рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд┐рдХрд▓реНрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗрд░рд┐рдПрдВрдЯ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рдХрд╕реНрдЯрдо рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
рдЫрд╡рд┐

рд╡реИрд░рд┐рдПрдВрдЯ рдмрдирд╛рддреЗ рд╕рдордп, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЪреМрдХрд┐рдпрд╛рдБ рд╕рдХреНрд░рд┐рдп рд╣реИрдВред
  1. рдЪреМрдХреА рд╕рдореВрд╣
  2. рдХрд╛рд░реНрдпрдХреНрд░рдо
  3. рд╡рд░реНрдЧ
  4. рд╕рдорд╛рд░реЛрд╣ рд╕рдореВрд╣


рдЫрд╡рд┐

рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ, рд▓реЙрдЧрдкреЙрдЗрдВрдЯ рдФрд░ рдПрд╕реЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рдХрд▓реНрдк рд╕реНрдХреНрд░реАрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реВрдЪреАрдмрджреНрдз рд▓реЛрдЧреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред

рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЪреЗрдХрдЧреНрд░реБрдк рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд░рд┐рдп рд╣реИред

рдЫрд╡рд┐

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рджреЛрдиреЛрдВ рд╕реНрдерд╛рдиреАрдп рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдП рдЧрдП рд╣реИрдВред

рдЙрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЪрд▓рд╛рдПрдВ рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдпрджрд┐ Assert рд╢рд░реНрдд рдкреВрд░реА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рдПрдХ рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред рдпрд╣ рд▓реЙрдЧ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреЗрдХ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП SAAB рд▓реЗрдирджреЗрди рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

Log-POINT рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдХреЛ рдкреБрд░рд╕реНрдХреГрдд рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рдХрдерди рдХреЗ рд▓рд┐рдП SUBKEY рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХреБрдВрдЬреА рдХреБрдЫ рдЭрдВрдбреЗ (SUBKEY) рджреНрд╡рд╛рд░рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЫрдВрдЯрд╛рдИ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред

рд▓реЙрдЧ рджреЗрдЦрдирд╛ рджреЛ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рд╕рдВрднрд╡ рд╣реИ:
  1. рд╕рдореВрд╣ / рдЙрдкрдХреБрдВрдЬреА / рдХрд╛рд░реНрдпрдХреНрд░рдо / рдкреНрд░рдХреНрд░рд┐рдпрд╛
  2. рд╕рдореВрд╣ / рдХрд╛рд░реНрдпрдХреНрд░рдо / рдкреНрд░рдХреНрд░рд┐рдпрд╛ / рдЙрдкрдХреБрдВрдЬреА


рдиреАрдЪреЗ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ:
рдЫрд╡рд┐

рд▓реЙрдЧ рдореЗрдВ рдкреЗрдбрд╝ рдХреА рдЕрдВрддрд┐рдо рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЧрд┐рд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЫрд╡рд┐

рдпрджрд┐ рдЪрд░реЛрдВ / рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЕрднрд┐рдХрд╛рд░ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдбреАрдмрдЧрд░ рдореЗрдВ, рдЖрдк рд╡рд░реНрддрдорд╛рди рдЪреЗрдХрдЧреНрд░реБрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рдЕрдиреБрд╡рд╛рдж рдХреЗ рд▓реЗрдЦрдХ рд╕реЗ:
рдЗрд╕ рд╡рд┐рд╖рдп рдХреА рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рд▓рд┐рдВрдХ рдкрд░ рдкрдврд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИред

Source: https://habr.com/ru/post/In218783/


All Articles