2020-10-27 關(guān)于函數(shù)BAL_DSP_LOG_DISPLAY

BAL_DSP_LOG_DISPLAY

這個函數(shù)有點意思烤镐,



這個地方引發(fā)了一系列翻車問題

標準表:關(guān)鍵字為STANDARD TABLE,?系統(tǒng)為該表的每一行數(shù)據(jù)生成一個邏輯索引。 填充標準表時搂赋,可以將數(shù)據(jù)附加在現(xiàn)有行之后乐疆,也可以插入到指定的位置叮趴,程序?qū)?nèi)表行的尋址操作可通過關(guān)鍵字或索引進行样眠。在對表進行插入竞滓、刪除等操作時,各數(shù)據(jù)行在內(nèi)存中的位置不變吹缔,系統(tǒng)僅重新排列各數(shù)據(jù)行的索引值。

排序表

排序表:關(guān)鍵字為?SORTED TABLE,?也具有一個邏輯索引锯茄,不同之處是排序表總是按其關(guān)鍵字升序排序后再進行存儲厢塘,其訪問方式與標準表相同。???


哈希表

哈希表:關(guān)鍵字為?HASHED TABLE,?沒有索引肌幽,只能通過關(guān)鍵字來訪問晚碾。系統(tǒng)用哈希算法管理表中的數(shù)據(jù),因而其尋址一個數(shù)據(jù)行的時間和表的行數(shù)無關(guān)喂急。



這種表不允許你直接sort 因為本身是sorted

第二個特殊地方就是


這種排序表可不允許你修改值測試格嘁,不信你可以試試。我是經(jīng)過了basis大哥提醒才知道的廊移,

? ? ? ? 不是所有表都能se16改 這個sort就是


這里可以看出來 不準插入也不準新行糕簿,刪除,復(fù)制都不允許狡孔,我想這是基于他的特性懂诗,

在程序執(zhí)行的時候檢查是否排序表 直接給你報錯,而不是允許你隨意填一個值來插入苗膝,因為你插入的值如果不是sorted 那可能引發(fā)翻車案例 直接dump

接下來的問題更加需要注意殃恒,

這個函數(shù)? 你可以這樣操作,

下面是我的代碼

*&---------------------------------------------------------------------*

*& Report? YXFIR462_BACKJOBTEST

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT yxfir462_backjobtest.

DATA: gv_log_handle TYPE balloghndl.

DATA gt_log_handle TYPE bal_t_logh.

DATA:gtall_log TYPE bal_t_logh.

DATA: gl_balloghndl TYPE balloghndl.

CONSTANTS: cons_log_object TYPE bal_s_log-object VALUE 'FIBA',

? ? ? ? ? cons_log_subobject TYPE bal_s_log-subobject VALUE 'BAPAYMIN'.

START-OF-SELECTION.

? DO 2 TIMES.

? PERFORM frm_log_fimsg_create.

? PERFORM frm_log_fimsg.

? PERFORM frm_log_fimsg_db_save.

? ENDDO.

? CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'

? ? EXPORTING

? ? ? i_t_log_handle = gtall_log

? ? EXCEPTIONS

? ? ? OTHERS? ? ? ? = 1.

? IF sy-subrc <> 0.

? ? MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno

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

? ENDIF.? ? ? ? ? ? ? ? ? "frm_log_display

*&---------------------------------------------------------------------*

*&? ? ? Form? FRM_MOVE_TO_FTPOST

*&---------------------------------------------------------------------*

*? ? ? text

*----------------------------------------------------------------------*

*? -->? p1? ? ? ? text

*? <--? p2? ? ? ? text

*----------------------------------------------------------------------*

*? ? ? text

*----------------------------------------------------------------------*

*? -->? p1? ? ? ? text

*? <--? p2? ? ? ? text

*----------------------------------------------------------------------*

FORM frm_log_fimsg_create .

? DATA:

? ? ? g_s_log? ? ? ? ? ? TYPE bal_s_log,

? ? ? g_value? ? ? ? ? ? TYPE i.

* DEFINE SOME HEADER DATA OF THIS LOG

? g_s_log-extnumber = text-003.

? DATA: l_guid_22 TYPE guid_22.

? PERFORM frm_stage_id_guid_create

? ? ? ? ? ? ? CHANGING l_guid_22.

? WRITE: l_guid_22 TO? g_s_log-extnumber+30.

? CONDENSE g_s_log-extnumber NO-GAPS.

? MOVE? l_guid_22 TO gl_balloghndl. " YJZDH

? g_s_log-object? ? = cons_log_object.

? g_s_log-subobject = cons_log_subobject.

? g_s_log-aldate? ? = sy-datum.? ? ? ? "WIE IN RSBTCHH0

? g_s_log-altime? ? = sy-uzeit.

? g_s_log-aluser? ? = sy-uname.

? g_s_log-altcode? = space.

? g_s_log-alprog? ? = sy-repid.

? g_s_log-almode? ? = space.

? g_s_log-alprog? ? = sy-repid.

*? G_S_LOG-PARAMS? ? = SPACE.

? CALL FUNCTION 'BAL_LOG_CREATE'

? ? EXPORTING

? ? ? i_s_log? ? ? = g_s_log

? ? IMPORTING

? ? ? e_log_handle = gv_log_handle

? ? EXCEPTIONS

? ? ? OTHERS? ? ? = 1.

? IF sy-subrc <> 0.

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

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

? ENDIF.

ENDFORM.? ? ? ? ? ? ? ? ? ? " FRM_LOG_FIMSG_CREATE

*&---------------------------------------------------------------------*

*&? ? ? Form? FRM_STAGE_ID_GUID_CREATE

*&---------------------------------------------------------------------*

*? ? ? text

*----------------------------------------------------------------------*

*? ? ? <--P_L_GUID_22? text

*----------------------------------------------------------------------*

FORM frm_stage_id_guid_create? CHANGING p_stage_guid.

? CALL FUNCTION 'GUID_CREATE'

? ? IMPORTING

? ? ? ev_guid_22 = p_stage_guid.

ENDFORM.? ? ? ? ? ? ? ? ? ? " FRM_STAGE_ID_GUID_CREATE

*&---------------------------------------------------------------------*

*&? ? ? Form? FRM_LOG_FIMSG

*&---------------------------------------------------------------------*

*? ? ? text

*----------------------------------------------------------------------*

*? -->? p1? ? ? ? text

*? <--? p2? ? ? ? text

*----------------------------------------------------------------------*

FORM frm_log_fimsg .

? DATA:

? ? ? ? l_s_msg TYPE bal_s_msg.

? l_s_msg-alsort? ? = 01.

*? ? DEFINE DATA OF MESSAGE FOR APPLICATION LOG

? l_s_msg-msgty? ? = 'E'.

? l_s_msg-msgid? ? = 'YFI'.

? l_s_msg-msgno? ? = '000'.

*? l_s_msg-msgv1? ? = fimsg-msgv1.

*? l_s_msg-msgv2? ? = fimsg-msgv2.

*? l_s_msg-msgv3? ? = fimsg-msgv3.

*? l_s_msg-msgv4? ? = fimsg-msgv4.

? l_s_msg-probclass = '1'.

? CALL FUNCTION 'BAL_LOG_MSG_CUMULATE'

? ? ? EXPORTING

? ? ? ? i_log_handle? ? ? ? = gv_log_handle

? ? ? ? i_s_msg? ? ? ? ? ? ? =? l_s_msg

? ? ? ? i_compare_attributes = 'X'

? ? ? ? i_compare_context? ? = 'X'

? ? ? ? i_compare_parameters = 'X'

*? ? IMPORTING

*? ? ? ? E_S_MSG_HANDLE? ? ? =

*? ? ? ? E_MSG_WAS_LOGGED? ? =

*? ? ? ? E_MSG_WAS_DISPLAYED? =

? ? ? EXCEPTIONS

? ? ? ? ? ? log_not_found? ? ? ? = 0

? ? ? ? ? ? msg_inconsistent? ? = 2

*? ? ? ? OTHERS? ? ? ? ? ? ? = 3

? ? ? ? ? ? .

? IF sy-subrc <> 0.

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

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

? ENDIF.

ENDFORM.? ? ? ? ? ? ? ? ? ? " FRM_LOG_FIMSG

*&---------------------------------------------------------------------*

*&? ? ? Form? FRM_LOG_FIMSG_DB_SAVE

*&---------------------------------------------------------------------*

*? ? ? text

*----------------------------------------------------------------------*

*? -->? p1? ? ? ? text

*? <--? p2? ? ? ? text

*----------------------------------------------------------------------*

FORM frm_log_fimsg_db_save .

? REFRESH gt_log_handle.

? CLEAR gt_log_handle.

? APPEND gv_log_handle TO gt_log_handle.

*? APPEND LINES OF gt_log_handle TO gtall_log.

? CALL FUNCTION 'BAL_DB_SAVE'

? ? EXPORTING

*? ? I_IN_UPDATE_TASK = 'X'

? ? ? i_save_all? ? ? = 'X'

? ? ? i_t_log_handle? = gt_log_handle

? ? EXCEPTIONS

? ? ? log_not_found? ? = 1

? ? ? save_not_allowed = 2

? ? ? numbering_error? = 3

? ? ? OTHERS? ? ? ? ? = 4.

? IF sy-subrc <> 0.

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

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

? ENDIF.

? EXPORT table = gt_log_handle TO MEMORY ID 'GT_LOG'.

ENDFORM.? ? ? ? ? ? ? ? ? ? " FRM_LOG_FIMSG_DB_SAVE



這段代碼告訴一個東西就是我允許你在同一個程序里面一次顯示多條 錯誤還是失敗辱揭。

但是不允許你這樣操作


REPORT yxfir462_back_job_test.

DATA gtall_log_handle TYPE bal_t_logh.

DATA:lt_log_handle TYPE bal_t_logh.

START-OF-SELECTION.

? DO 2 TIMES.

? ? SUBMIT yxfir462_backjobtest AND RETURN .

? ? IMPORT table = lt_log_handle FROM? MEMORY ID 'GT_LOG'.

? ? APPEND LINES OF lt_log_handle TO gtall_log_handle.

? ENDDO.

? CALL FUNCTION 'BAL_DSP_LOG_DISPLAY'

? ? EXPORTING

? ? ? i_t_log_handle? ? ? = gtall_log_handle

* CALL FUNCTION 'BAL_DSP_LOG_PRINT'

*? ? ? EXPORTING

*? ? ? ? ? I_S_LOG_FILTER? ? ? ? =

*? ? ? ? ? I_T_LOG_CONTEXT_FILTER =

*? ? ? ? ? I_S_MSG_FILTER? ? ? ? =

*? ? ? ? ? I_T_MSG_CONTEXT_FILTER =

*? ? ? ? ? I_T_LOG_HANDLE? ? ? ? =

*? ? ? ? ? I_T_MSG_HANDLE? ? ? ? =

*? ? ? ? ? I_S_DISPLAY_PROFILE? ? =

*? ? ? ? ? I_AMODAL? ? ? ? ? ? ? = ' '

? ? ? ? EXCEPTIONS

? ? ? ? ? ? ? OTHERS? ? ? ? ? ? ? ? = 1.

? IF sy-subrc <> 0.

? ? MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno

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

? ENDIF.? ? ? ? ? ? ? ? ? "frm_log_display


不允許你submit操作离唐,一個程序顯示多個甚至一個,提示的錯誤是

Anzeigeprofil ist nicht konsistent(描述文件沒有一致性)

希望能給遇到這個問題的朋友提供一些建議问窃。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亥鬓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子泡躯,更是在濱河造成了極大的恐慌贮竟,老刑警劉巖丽焊,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異咕别,居然都是意外死亡技健,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門惰拱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雌贱,“玉大人,你說我怎么就攤上這事偿短⌒拦拢” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵昔逗,是天一觀的道長降传。 經(jīng)常有香客問我,道長勾怒,這世上最難降的妖魔是什么婆排? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮笔链,結(jié)果婚禮上段只,老公的妹妹穿的比我還像新娘。我一直安慰自己鉴扫,他們只是感情好赞枕,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著坪创,像睡著了一般炕婶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上莱预,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天古话,我揣著相機與錄音,去河邊找鬼锁施。 笑死陪踩,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的悉抵。 我是一名探鬼主播肩狂,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼姥饰!你這毒婦竟也來了傻谁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤列粪,失蹤者是張志新(化名)和其女友劉穎审磁,沒想到半個月后谈飒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡态蒂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年杭措,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钾恢。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡手素,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瘩蚪,到底是詐尸還是另有隱情泉懦,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布疹瘦,位于F島的核電站崩哩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏言沐。R本人自食惡果不足惜琢锋,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望呢灶。 院中可真熱鬧,春花似錦钉嘹、人聲如沸鸯乃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缨睡。三九已至,卻和暖如春陈辱,著一層夾襖步出監(jiān)牢的瞬間奖年,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工沛贪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留陋守,地道東北人。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓利赋,卻偏偏與公主長得像水评,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子媚送,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348