日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP Subscreen and tabstrip controls

發(fā)布時間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP Subscreen and tabstrip controls 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Subscreen是screen上的一塊區(qū)域,用來動態(tài)加載其他類型為subscreen的screen,subscreen區(qū)域上不能放其他的screen elements。在屏幕上顯示的subscreen是獨(dú)立的,subscreen是在另一屏幕中顯示的一塊獨(dú)立區(qū)域。Subscreen的另外一個用途是不同的programs可以使用相同的subscreens,為了實(shí)現(xiàn)這一點(diǎn)你必須在主程序中執(zhí)行相應(yīng)的screen programs,可以在一個main screen中使用多個subscreens,也可以在運(yùn)行時動態(tài)調(diào)用subscreen??梢栽谙铝星闆r下使用subscreen:

l???????? In screen enhancements(screen exit)

l???????? Within other screen objects(tabstrip controls)

l???????? In the modification assistant

l???????? In web transactions

當(dāng)subscreen area不夠大時,可以使用scrollbar來滾動顯示。Subscreen area的resize屬性決定了其是否可以在橫向和豎向可以被改變??梢酝ㄟ^minimum size屬性來確定什么時候subscreen area不能被resize。Context menu屬性可以為subscreen的output field分配context menu。Subscreen有以下限制:

l???????? CALL SUBSCREEN在LOOP ENDLOOP CHAIN ENDCHAIN里不被允許。

l???????? Subscreen不能有OK_CODE字段

l???????? 在同一個main screen中,所有的包括subscreen的object name必須是唯一的

l???????? Subscreen不能有AT EXIT-COMMAND MODULE

l???????? 在subscreen的modules中不能有SET TITLEBAR SET PF-STATUS SET SCREEN和LEAVE SCREEN語句

可以在screen painter中創(chuàng)建subscreen area,object name用來在call subscreen時,區(qū)分不同的subscreen area。為了使用subscreen,你必須在main screen的PBO和PAI中調(diào)用它,CALL SUBSCREEN <subscreenarea>用來告訴system把subscreen的PBO和PAI processing block作為main screen PBO和PAI的一部分。Subscreen的ABAP module的寫法與正常screen一樣。Flow logic中的fields是ABAP program中的global field。

?????? 如果subscreen和main program不在同一個module pool中,在main program中的global data在subscreen中是不可見的,subscreen中的field也不會傳輸?shù)絤ain program中。必須自己實(shí)現(xiàn)data transfer,例如通過function module export import data,在subscreen中使用適當(dāng)?shù)膍ove語句。如果想在不同的main program中使用相同的subscreens,你可以把這些subscreens封裝到function group中,通過function module來實(shí)現(xiàn)data transport。這一技術(shù)用來實(shí)現(xiàn)customer subscreen(screen enhancement)。在call subscreen之前通過調(diào)用function group的function module把需要的數(shù)據(jù)傳給function group。這保證了在subscreen的PBO之前,subscreen已經(jīng)得到了需要的數(shù)據(jù)。在main screen的PAI中,順序是相反的。在subscreen的PAI之后通過調(diào)用function group的function module把數(shù)據(jù)傳給function module。數(shù)據(jù)的互相傳遞是通過function group的global data來實(shí)現(xiàn)的。傳向function group的數(shù)據(jù)必須把FM參數(shù)的值賦給global data,傳向calling program的數(shù)據(jù)則需要把global data的值賦給FM的參數(shù)。

?????? TABSTRIP用來把一個應(yīng)用的不同部分以友好宜用的方式展現(xiàn)在一個屏幕上,以下情況不適用于tabstrip:

l???????? 在application components中需要改變screen environment(比如menus,pushbuttons,header data等等)。Tabstrip的surrounding screen必須是保持不變的。

l???????? Application components必須以特定的順序執(zhí)行,而tabstrip對application components的順序是不受限制的。

l???????? Components是動態(tài)處理的,一個tab page的用戶輸入可以使其他tab page立即出現(xiàn)

Tabstrip control和batch input是兼容的。

Tabstrip control包括單獨(dú)的tab page,每個page都有自己的page title。Tabstrip control為page title只提供一行。當(dāng)tab pages比較多時,page title不能全部放在一行中,可以通過scroll bar來瀏覽剩余的tab pages。一個page element由tab title,subscreen area和subscreen組成。從技術(shù)角度來講tabtitle就相當(dāng)于pushbutton。Page element的內(nèi)容是通過subscreen來實(shí)現(xiàn)的。給每一個page element分配一個subscreen area用來call subscreen。除了object name,starting position和static size,還有其他一些特殊的屬性。Tabstrip control的創(chuàng)建包括三個步驟:

l???????? Define the tab area

l???????? Define the tab titles如果必要的話:add further tab titles

l???????? Assign a subscreen area to each page element

在screen painter中將tabstrip control拖動到screen中,給tabstrip control的object name屬性分配一個name,在ABAP中通過CONTROL聲明同樣name的object,類型為TABSTRIP。TABSTRIP類型在type pool CXTAB中定義,ACTIVETAB field存儲當(dāng)前激活的tabstrip的tab title的function code。Tabstrip的tab pages的缺省數(shù)量為2。從技術(shù)角度來講tab title就是pushbutton,它有name,text,fctcode和fcttype。Tabtitle可以有function type ‘’或P。如果function type是’’,PAI就會被激活,tab title的function code就會被transport到command field中。如果function type是P,可以在不同的pages之間scroll,但是并不會激活PAI,如果想在tabstrip中放兩個以上的pages,需要將pushbutton拖動到tabstrip的tab title area中。你必須給每一個tabpage分配一個subscreen area,可以為每一個tab page拖動一個subscreen area也可以把一個subscreen area分配給不同的tab pages,通過把subscreen area的name分配給相關(guān)的tab pages的reference object屬性。如果你為每一個tab page分配了不同的subscreen area,可以在front end scroll between tabpages locally。要做到這點(diǎn),需要在send main screen的同時把所有的subscreen也send到front end。所有的tab title的funct type也必須是P。這樣在不同的tabpages間切換時,fronend和application server之間沒信息交互。當(dāng)用戶觸發(fā)main screen的PAI時,所有subscreens的PAI也會被觸發(fā)。這就意味著所有的field checks都在運(yùn)行??梢园裻abstrip看成是一個large screen。Local scrolling tabstrip適用于display transaction。Scroll locally tabstrip的程序步驟:

l???????? 給每一個tab page分配一個subscreen area

l???????? 在flow logic中調(diào)用所有的screen

l???????? 給所有的tab title分配function type P

如果subscreen中沒有任何可顯示的element,那么這個tab page就會被隱藏。如果所有的subscreen都沒有可顯示的element,那么整個tabstrip control就會被隱藏。

PROCESS BEFORE OUTPUT.

?????? CALL SUBSCREEN subarea1

????????????? INCLUDING sy-cprog ‘0101’.

?????? CALL SUBSCREEN subarea2

????????????? INCLUDING sy-cprog ‘0102’.

?????? CALL SUBSCREEN subarea3

????????????? INCLUDING sy-cprog ‘0103’.

PROCESS AFTER INPUT.

?????? CALL SUBSCREEN subarea1

?????? CALL SUBSCREEN subarea2

?????? CALL SUBSCREEN subarea3

CONTROLS my_tab_strip TYPE TABSTRIP.

如果所有page element共享一個subscreen area,程序通過function code來決定顯示那一個subscreen。這一過程分為兩個步驟:

l???????? PAI中,通過用戶選擇的tabtitle決定哪個page element應(yīng)當(dāng)active

l???????? 在PBO中程序來顯示相應(yīng)的screen。

處理過程中system只check顯示的subscreen的fields。實(shí)現(xiàn)這種tabstrip scrolling的步驟:

l???????? 所有的tab pages必須共享一個subscreen area

l???????? 所有的tab title必須是function type ‘’

l???????? 在flow logic中必須通過一個variable來確定要call的subscreen

在PAI block中你必須調(diào)用一個function module,用來根據(jù)function code為TABSTRIP control object的ACTIVETAB字段賦值。在PBO,在subscreen調(diào)用之前必須有一個module用來根據(jù)ACTIVETAB的值為subscreen相應(yīng)的variable賦值。必須給這個variable一個initial value,用來第一屏幕調(diào)用時使用。可以通過screen table來隱藏一個tab page(screen-active = 0)。應(yīng)該在tabstrip control之前實(shí)現(xiàn)它,以保證screen environment是constant的。

PROCESS BEFORE OUTPUT.

?????? MODULE fill_dynnr.

?????? CALL SUBSCREEN subarea

????????????? INCLUDEING SY-CPROG dynnr.

PROCESS AFTER INPUT.

?????? CALL SUBSCREEN subarea.

?????? MODULE user_command.

CONTROLS my_tab_strip TYPE tabstrip.

DAYA ok_code TYPE sy-ucomm,

????? Dynnr TYPE sy-dynnr.

MODULE fill_dynnr OUTPUT.

?????? CASE my_tab_strip-activetab.

????????????? WHEN ‘PC1’.

???????????????????? Dynnr = ‘0101’.

????????????? WHEN ‘PC2’.

???????????????????? Dynnr = ‘0102’.

????????????? WHEN ‘PC3’.

???????????????????? Dynnr = ‘0103’.

????????????? WHEN OTHERS.

???????????????????? Dynnr = ‘0101’.

???????????????????? My_tab_strip-activetab = ‘PC1’.

?????? ENDCASE.

ENDMODULE.

MODULE user_command INPUT.

?????? CASE ok_code.

?????? WHEN ‘PC1’ OR ‘PC2’ OR ‘PC3’.

????????????? My_tab_strip-activetab = ok_code.

?????? ENDCASE.

ENDMODULE.

可以通過tabstrip control wizard來創(chuàng)建tabstrip control,這樣相應(yīng)的program objects都會被自動創(chuàng)建,可以提高開發(fā)效率。
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/lvzhqi/archive/2009/08/12/4436903.aspx

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的ABAP Subscreen and tabstrip controls的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精选在线观看 | gav成人| 偷拍视频一区 | jizz亚洲女人 | 欧美456| 2017天天干| 激情五月婷婷丁香 | 91久久精品一区二区别 | 精品一区二区三区av | 特黄特色特刺激免费播放 | 国产裸体视频 | 天天草夜夜操 | 中文字幕日韩久久 | 亚洲激情在线观看视频 | 欧美自拍视频在线观看 | 欧美日韩激情网 | 精品国产大片大片大片 | 亚洲开心网 | 视频在线观看一区二区 | 免费看的毛片 | 火影黄动漫免费网站 | 僵尸叔叔在线观看国语高清免费观看 | 日韩av免费在线播放 | 一区二区精品免费 | www.777奇米影视 | 欧美裸体网站 | 日韩一区免费观看 | 亚洲欧美中文字幕5发布 | 国产二级片 | 国产精品久久久久无码av | 国产高清av在线 | 99久久精品免费看国产免费软件 | 免费的黄色av | 日韩成人免费在线视频 | 无码无遮挡又大又爽又黄的视频 | 一区二区三区四区在线播放 | 久久免费大片 | 黄色免费网站在线看 | 国产成人精品一区二区三区视频 | 老司机福利精品 | 亚洲欧美婷婷 | 亚洲精品第三页 | 热久久精 | 国产麻豆午夜三级精品 | 激情在线观看视频 | 国产精品自拍片 | 亚洲va久久久噜噜噜久久天堂 | 国产午夜激情 | 一区二区三区黄色录像 | a级黄片毛片 | 黑人精品一区二区三区 | xxxx色| 国产成人无码a区在线观看视频 | 北条麻妃一区二区三区四区五区 | 91丝袜一区在线观看 | 中文字幕在线一区二区三区 | 国产精品1000部啪视频 | 国产三级视频 | 日本黄区免费视频观看 | 色播一区二区 | 黄色大视频 | 亚洲激情网站 | 国产精品一亚洲av日韩av欧 | 欧美视频一二三 | 动漫av网站 | 欧美黑人性xxx猛交 少妇无套内谢久久久久 | 日韩精品成人一区二区在线 | 国产伦精品一区二区三区高清版禁 | 国久久久 | 麻豆精品一区二区三区 | 国产高中女学生第一次 | 亚洲第一欧美 | 久热精品视频在线 | 日韩精品一区二区在线观看 | 亚洲综合福利 | 浪漫樱花在线观看高清动漫 | 在线看福利影 | 日韩在线不卡视频 | 视频这里只有精品 | 欧美视频久久久 | 日本丰满熟妇videossex一 | 手机看片久久久 | 久久久久国产精品一区二区 | 国产免费黄色大片 | 色婷婷在线视频 | 亚洲无人区码一码二码三码的含义 | 天天躁日日躁aaaxxⅹ | 日韩亚洲欧美一区 | 亚洲午夜无码久久久久 | 男女在线免费观看 | 国产精品久久久久久久久免费 | av一卡 | 99精品人妻国产毛片 | 久久韩国 | 亚洲欧美第一页 | 一区二区三区天堂 | 在线草 | 久久久久久影视 | 精国产品一区二区三区a片 国产精品第一 |