웹으로만 화면을 구성하고 있는데 SAP GUI 트랜젝션을 호출해야만 하는 경우
이방법을 사용하면 빠르게 대처할 수 있습니다. (그럭저럭 쓸만합니다)
SAP GUI 화면을 웹에서 볼 수 있는 Web GUI가 있습니다.

Web GUI의 URL 구성은 아래와 같습니다.

 http://<host>:<port>/sap/bc/gui/sap/its/webgui/?~transaction=<T-Code>

아래의 코드를 호출하면 위처럼 URL을 구성해줍니다.

DATA: lv_url TYPE string.
cl_its_runtime=>get_url(
  EXPORTING
    in_transaction    = 'SE80'
  IMPORTING
    out_abs_url       = lv_url
).

현재 접속된 서버(AP)를 기준으로 URL이 생성되기 때문에
여러 AP를 도메인 등록 없이 운영하고 Load Balancer만 도메인 등록한 경우 문제가 있습니다.
이럴때는 cl_its_runtime=>get_url 메소드의 파라미터 in_host, in_port 를 L4에 맞게 추가로 주면 됩니다.



1장의 그림으로 설명합니다.

웹딘프로의 UI Element 속성들 대부분은 바인딩이 가능한데,
바인딩을 통해 값을 조절하면 화면이 변경됩니다.
visible은 원칙적으로 WDUI_VISIBILITY 타입으로 해야 하지만 WDY_BOOLEAN으로도 할 수 있도록 봐줍니다 :)


 


UI Element를 자세히 살펴 볼수 있는 몇가지를 방법을 알려드리겠습니다.

1. 데모 프로그램
서버에 접속하여 SE80으로 이동후
웹딘프로 아이디 WDR_TEST_UI_ELEMENTS 를 찾습니다.

application을 실행합니다.

모든 UI Elemet를 한 화면에서 속성 변경해 가며 테스트 할 수 있는 데모 입니다.




2. NET312: UI Development with Web Dynpro for ABAP
정식 교육교재입니다. pdf 파일은 각자 알아서 구하시면 됩니다.


3. WDA UI Elements Reference (공식 도움말 페이지)
링크: http://help.sap.com/saphelp_nw2004s/helpdata/EN/cd/422b035f01914e80251a660e39ab14/frameset.htm




4. WDJ UI Elements Reference (웹딘프로 자바 도움말 페이지이지만 UI는 거의 같기 때문에 참고가 됩니다)
링크: http://help.sap.com/saphelp_nw04/helpdata/en/8f/aa63688343bd40aafc537971aee068/frameset.htm



별도로 프로그램 따위 설치할 필요 없습니다.
인터넷 익스플러어에서 F12 누르고
개발자도구 화면이 나오면 메뉴에서 사용안함 - 스크립트(체크되도록)

긁어온다음

다시 스크립트 사용안함 체크 풀어주어야 인터넷 사용이 원할합니다.

아래의 예는 MARA-MTART 타입으로 웹딘프로아밥 드랍다운 구성하는 예입니다.

DATA: lo_nd_search_input TYPE REF TO if_wd_context_node,
      lo_node_info TYPE REF TO if_wd_context_node_info,
      ls_shlp_descr TYPE shlp_descr,
      lt_value_set TYPE TABLE OF wdr_context_attr_value,
      ls_value_set TYPE wdr_context_attr_value.

lo_nd_search_input = wd_context->get_child_node( name = wd_this->wdctx_search_input ).
lo_node_info = lo_nd_search_input->get_node_info( ).

CLEAR: ls_shlp_descr, lt_value_set.
CALL FUNCTION 'DPWTY_SEARCH_HELP'
  EXPORTING
    iv_db_tabname   = 'MARA'
    iv_db_fieldname = 'MTART'
    is_shlp         = ls_shlp_descr
    iv_drop_down    = 'X'
  IMPORTING
    et_values       = lt_value_set.

CLEAR: ls_value_set.
INSERT ls_value_set INTO lt_value_set INDEX 1.

lo_node_info->set_attribute_value_set(
   EXPORTING
     name      = 'MTART'
     value_set = lt_value_set
 ).


 

타입마다 다른 로직이 아니라서 좋은 방법입니다.


Web Dynpro ABAP Quick Design guidelines

This Page is to discuss WD4A Design guidelines which can be used by beginner WD4A developer as a checklist to design quality WD4A applications. Please feel free to Add/Correct/Comment to below WD4A Design guidelines and help novice WD4A developer like me in designing quality WD4A applications.

Performance Optimization:

  • Use Range Supply Function to load part of data into context node for heavy table performance optimization.
  • Consider Delta Rendering Optimization while designing WD4A component.
  • Avoid complex and nested Layouts because it has a big impact on browser or client rendering performance.
  • Prefer the Row Layout to the Grid or Matrix Layout if horizontal alignment is not needed for better performance.
  • Number of visible rows in Table or ALV has an impact on performance.
  • Avoid writing much processing in WDDOMODIFYVIEW() method like initialization and all.
  • Don't use context of all WD4A component data. Use context for Screen In/Out data only.
  • Consider the Price Tag of UI elements when designing Web Dynpro Component.

UI Design Practice:

  • Use Flash Islands as add-on for Web DynPro and avoid using more than 3 Flash Islands on the screen.
  • Avoid Scrolling and make all information visible at a glance.
  • Prefer the Matrix Layout to the Grid Layout for Ease of use and consistent layout.
  • Avoid usage of TransparentContainers inside container UI elements.
  • Don't misuse Web Dynpro UI elements by setting improper property values.
  • Exchange default root UI element container with other container UI element to minimize container nesting levels.
  • Never Use Trays and Panel on same screen to avoid confusion for end users.
  • Never use a Section header without associating it with a TransparentContainer.
  • Use Access and Hot Keys for better accessibility.
  • Use Floorplan Manager for consistency across applications.
  • Componentization of Web DynPro component for reusability.

Better Development efficiency:

  • Use Floorplan Manager for the creation of new Web Dynpro ABAP applications to increase development efficiency.
  • Use Developer Defined Reusable Templates.

Miscellaneous:

  • Add URL Parameter "sap-wd-stableids=X" to achieve stable HTML IDs for Automated Tests.
Where-used list는 프로그램 분석할 때 참 유용한 기능입니다.
하지만 이 기능이 항상 완벽하지는 않습니다.

예를들어 어떤 스탠다드 함수를 대체하는 함수를 만들기 위해 어디서 사용되고 있는지 찾으려고 합니다.
Where-used list 를 돌려 보면 4개가 나왔다고 합시다. 하지만 이 4개가 전부라고 믿으면 안 됩니다.

전체 Where-used list를 모두 보관하고 있다면 용량이 너무 너무 크기 때문에
SAP에서는 기본적으로 아주 일부분만 보관하고 있습니다.
어떤식으로 활용하는지 분석하는 참고용으로 쓰라는 거죠.
전체를 다 만들면 DB에 10기가 정도 용량이 추가로 필요하다고 하네요.
(참고)

SAP Where-used list of SAP objects - run SAPRSEUB (note 28022)

 - [ 이 페이지 번역하기 ]



그래서 수동으로 Where-used list를 더 생성할 수 있도록 리포트 프로그램을 제공합니다.
(참고)
http://blog.daum.net/iamkjy/5024481

SAPRSEUB : 전체 생성. BC 허락 받고 백그라운드로 돌리세요. 2일 정도 걸린다고 합니다.
SAPRSEUC : 커스텀 영역만 생성.
SAPRSEUI : 개별 지정하여 생성.


ps. 업그레이드 프로젝트 후에는 개발서버에 전체 생성 해주는게 좋습니다. (운영은 하지 마세요)
 
관련해서 장편의 글을 쓰려고 생각만 하다가 귀차니즘에 쓰지 못하고 있다가,
내가 쓸말을 다 써놓은 곳을 발견하여 소개해 드립니다.

출처: 몽돌잉 님 블로그
http://zmania.tistory.com/14

ps.
1. 폰트 나눔고딕코딩 (크기12) 강추 드립니다.
2. ABAP 7.02 버전 부터는 code assist 가 추가되었다는 반가운 소식입니다. 잘 쓰고 있습니다 ㅋ



제가 즐겨 사용하는 HEX editor 입니다.
3.0 버전 까지는 개인사용자 무료입니다.
이후 버전은 유료입니다.

공식 홈페이지가 변경되어서 예전 버전은 없길레 archive.org 에서 찾았습니다.
http://web.archive.org/web/20090207090137/http://www.yurisw.com/HEdit.htm

Yuri Software HEdit 3.0
The Hex Editor for Computer Professionals

Yuri Software HEdit 3.0 is a hexadecimal editor for binary files. It allows you to view and modify the contents of any file in either text or binary mode.

 

Yuri Software HEdit 3.0 offers a rich set of features:

  • Overwrite, insert, or delete bytes in the file.
  • Jump to any offset within the file.
  • Search for data patterns.
  • Search-and-replace.
  • Support for files >2 GB in size. Files of any size open instantaneously.
  • EBCDIC character display.
  • Integer and floating point numeric displays in little and big endians.
  • Print hex views of files or selections.

Download a fully-functional version of HEdit 3.0.

HEdit is free for individual and non-commercial use. To use HEdit in a commercial environment, please contact us to obtain a license.

+ Recent posts