:+:+: 사랑愛 - Ever after :+:+:

밋첼™'s Blog is powered by Tattertools

머리는 안쓰면 잊게 된다.


개발에 대해서는 손이 먼저 움직일 정도였으나... 이젠 머리를 짜내고 과거에 했던 데이터를 찾아봐야 기억이 난다.


이러다... 찾아봐도 이해가 안되는 날이 오지는 않을지......... ㅠㅠ










아래와 같이 만들어서 체크를 하고~ 이후 로직을 수행함



*수행중인 Batch Check
DATA LV_VALUE(1)"Batch 작업의 유무
PERFORM CHECK_BATCH CHANGING LV_VALUE.





FORM CHECK_BATCH  CHANGING P_VALUE.

*****  "Batch 수행 중인지 확인
  DATA L_CNT TYPE N LENGTH 10"Batch 작업의 갯수
  DATA L_JOBNAME   TYPE BTCJOB.
  DATA GT_TBTCJOB LIKE TABLE OF TBTCJOB WITH HEADER LINE.

*****  MOVE SY-REPID TO L_JOBNAME.
*****  SELECT COUNT(*) INTO L_CNT
*****    FROM TBTCO
*****   WHERE JOBNAME = L_JOBNAME
*****     AND STATUS  = 'R'.

  " 배치실행 여부를 확인하고 JOB.
  CALL FUNCTION 'BP_FIND_JOBS_WITH_PROGRAM'
    EXPORTING
      ABAP_PROGRAM_NAME             SY-REPID
      STATUS                        'R' "실행중
    TABLES
      JOBLIST                       GT_TBTCJOB
    EXCEPTIONS
      NO_JOBS_FOUND                 1
      PROGRAM_SPECIFICATION_MISSING 2
      INVALID_DIALOG_TYPE           3
      JOB_FIND_CANCELED             4
      OTHERS                        5.

  " 실행(Runniung) 중인 Batch Job 이 존재하는지 확인 !!
  CLEARL_CNT.
  DESCRIBE TABLE GT_TBTCJOB LINES L_CNT.

  
" 조건으로 1 이상이 아닌 1 초과인 이유는 체크하며 이미 하나의 Batch를 확인하기 때문

  IF L_CNT > 1.
    P_VALUE ABAP_FALSE.
  ELSE.
    P_VALUE ABAP_TRUE.
  ENDIF.

ENDFORM.                    " CHECK_BATCH

댓글을 달아 주세요

일하면서 자주 쓸 일이 없는 사항이기에, 한번 두번 해보고 세월이 흐르면 잊어버리는 것..

Screen Exit 을 생각하고 의뢰가 왔었으나, 스크린 엑싯은 불가하고...

BAdI 로 가능한 작업이기에...마침 할 일이 생겼을 때 정리하자 싶어 캡쳐 떠서 정리해봅니다.

혼자 정리하며 올리는 글이기에, 혼잣말로 웅얼웅얼 합니다..^^;;


※ 이번 작업의뢰가... 구매처 생성/변경/조회 의 화면이었기에 해당 화면으로 캡쳐함.

(하기 리스트 추출은 프로그램을 짜서 한 것으로 T-code가 아닙니다)



먼저 조회를 해보니.. 구매처 화면 추가에는 몇 개의 BADI가 존재 하는데...

그 중 내가 필요한 것은 VENDOR_ADD_DATAVENDOR_ADD_DATA_CS 두 개!!

VENDOR_ADD_DATA에 대해 구매처 마스터 등록/변경/조회 시 정보를 확인하며 추가 작업을 지정하고 

VENDOR_ADD_DATA_CS를 이용해 원하는 화면을 만들어 추가하면 됨


 

작업에 앞서 IMG 에서 세팅이 되어야  하는데~

 구매처 마스터레코드에서 수정사항이 없는 확장 준비비지니스 애드인: 고객 하위화면 두개 의 셋팅이 필요함.

구매처 마스터레코드에서 수정사항이 없는 확장 준비 부터~



Pre.1 - 먼저 화면 그룹의 정의부터!!!

            구매처 화면그룹 편집에 새로운 항목을 추가 후 저장 버튼을 Click~!!


 

Pre.2 - 추가한 값을 선택 후 좌측의 라벨 탭 페이지를 더블 클릭하여 이동~ 값을 채워 넣으면 됨 


1. 수 의 값은 유니크(Unique) 한 값으로 임의 지정하여 넣으면 되며

2. 기능코드 경우는 화면의 이름 정도로 인식하면 될 듯

3. 내역 및 아이콘 경우 아래의 화면에서 보이겠지만, 탭의 이름과 함께 나오는 아이콘임.


이제 하나씩 시작!!!



1. SE19 에서 Classic BAdI 에  VENDOR_ADD_DATA 값을 넣고 “Create Impl.”  버튼을 Click~




2. 새 Implementation Name을 넣은 후 Click~~




3. Implementation Short Text  내역을 넣은 후 컴파일(활성화).




4. 생성된 Implement 을 포함시킬 Enhancement Implement 를 선택 하거나 새로 생성.
 

    - 만들어 둔 것이 없었으므로 새로이 생성 함




5. 새로이 이름을 넣고 지정 후~ Click~~
 





6. Interface Tab을 Click~ 그리고 CHECK_ADD_ON_ACTIVE 를 Double Click~~
     




7. 언제 동작할 지의 정의가 있어야 하므로 내용을 넣어 줌!
 
    - 최초 IMG 에서 화면 그룹을 Z5로 만들었으므로 해당 값으로 세팅!
 




8. 동작이 될 때 출력될 화면을 그려줌~ (입력과 출력에 대한 부분은 PBO / PAI 에 정의)


★ 이때 주의 해야할 사항!!!  화면 생성시 Sub Screen 으로 생성해야 함.




8. 앞서 VENDOR_ADD_DATA 를 생성했으니 VENDOR_ADD_DATA _CS 생성!!!

    - 앞서 선언했던 화면 그룹을 지정해 줌 




9. Interface 탭을 선택
.
 
    -  
GET_TAXI_SCREEN method가 사용자가 선택할 때 보여질 sub screen을 지정
 

 
 

10. 
GET_TAXI_SCREEN method  .

 




12. IMG 세팅에서 비지니스 애드인 : 고객 하위화면 설정
 .


 



이후 실행을 해보면!!!!




메뉴를 클릭해보면?



이와 같이 추가되었습니다~


스크린 엑싯(Screen Exit)이 없다는 이유로 추가가 되지 않으려나 생각했었지만...

BAdI 가 있어 구현이 가능했던 부분이군요~ 잊어버릴까봐 캡쳐 & 블로깅 해둡니다~

혹시나 검색을 통해 들어오는 분이 계시다면... 작은 도움이라도 되길 바랍니다~


댓글을 달아 주세요

  1. Favicon of http://bloping.tistory.com BlogIcon 새라새  댓글주소  수정/삭제  댓글쓰기

    다음 구독목록에서 새글 발견하고 냅따 왔는디...
    반가우면서 글은 저랑 아무 상관이...ㅎㅎㅎ
    잘 지내시고 계시죠...밋첼님 공주님과 왕자님도 많이 컸겠네요..

    2011.11.03 09:02
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      새라새님!!! 안녕하세요? ^^
      아직은 여유가 없는지라 이런 글만 올리고 있습니다;;;
      조만간 사진들과 이야기들을 올릴 예정인데~ 그게 언제일지 모르겠네요..ㅋ
      일교차 큰데 감기 조심하시고~ 행복한 하루 보내세요^^
      잊지 않고 들려주셔서 감사합니다~

      2011.11.03 09:11 신고
  2. Favicon of http://jongamk.tistory.com BlogIcon 핑구야 날자  댓글주소  수정/삭제  댓글쓰기

    SAP 사용하고는 있지만 코딩은....ㅜㅜ 오랜만에 올리셔서 반갑네요

    2011.11.04 08:09
  3. Favicon of http://garamdong.tistory.com/ BlogIcon 안단테  댓글주소  수정/삭제  댓글쓰기

    아쉽게도 컴맹인 저에게는 어려운 내용이지만, 이쪽으로 아시는 분들께는 많은 도움이 되었으면 좋겠네요^^
    이제 올해도 얼마 남지 않았군요. 가족분들과 행복하고 즐거운 연말 보내시길 바래요~!

    2011.11.15 23:32
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      날씨가 추워졌는데 건강하신가요?
      즐거운 이야기들과 사진들을 많이 올리고픈데 당장은 그런 여유가 잘 없네요~
      쌀쌀한 하루하루 속에 감기 조심하시고~ 행복한 하루하루 보내세요^^

      2011.11.16 08:16 신고
  4. Favicon of http://love111.tistory.com BlogIcon 바닐라로맨스  댓글주소  수정/삭제  댓글쓰기

    윽...
    뭔가 어려운느낌;;ㅎㅎㅎ
    좋은정보 잘보고 갑니다~

    2011.11.24 10:22
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      그저.. 이쪽 일을 하시는 분들께는 도움이 조금이나마 되려나요^^;;
      제가 잊지 않기 위해 정리하는 글입니다~
      방문과 소중한 댓글에 감사드립니다~ 날씨 추운데 행복한 하루 되세요~

      2011.11.24 12:13 신고
  5. Favicon of http://blogoon.tistory.com BlogIcon 블로군  댓글주소  수정/삭제  댓글쓰기

    휘유....^^ 정말 오랫만에 방문한듯 합니다..^^
    여전히 건재하신듯해서 반갑고 기분좋고 그러네요...ㅎㅎ^^

    어려운(?) 포스팅도 잘 봤습니다....ㅎㅎ^^

    2011.11.28 11:58
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      건강하신가요? 날씨 변덕 심한데 감기는 안걸리셨는지요...
      정말 오랫만에 뵙습니다^^

      포스팅을 하려 마음은 먹는데, 정작 하진 못하고 있습니다.
      시간을 쪼개고 쪼개어 하는 분들께서도 시간이 남아서 하시는 것이 아닌데.. 전 게을러서 인가봅니다ㅎㅎㅎ

      날씨가 풀렸다 급추워졌다를 반복할거라고 하는데, 건강 조심하시고~ 행복한 하루하루 보내시기 바랍니다^^

      2011.11.29 10:02 신고
  6.  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    2013.02.05 16:59
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      영문/한글로 보이는 건 로그인시 언어설정 문제입니다.

      Client, User, Password 아래 Logon Language 에 KO 를 넣으시면 됩니다.
      다만... 설계부터 개발까지 영문에서 한 것이라면, KO로 로그인 했을 때...
      메뉴는 한글로 보이나, 화면상에서 혹은 SE80 등의 리스트에서 한글이 안보일 수 있습니다.

      한글로 입력한 내용도, 설계당시 어느 언어였는지에 따라 틀려집니다.

      2013.02.05 19:08 신고
  7. 백기사  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 이번에 도로명주소 변환을 하면서 lfa1에 필드 추가는 했는데, 스크린 exit은 좀 낯설어서 헤매다가..
    좋은 정보 보고 갑니다 ^^

    감사합니다! 좋은 하루 되세요!!!

    2013.12.30 14:44
  8. 닥터제로  댓글주소  수정/삭제  댓글쓰기

    정말큰도움이 되었습니다. 감사합니다.

    2016.06.21 18:55
  9. 닥터제로  댓글주소  수정/삭제  댓글쓰기

    정말큰도움이 되었습니다. 감사합니다.

    2016.06.21 18:55
  10. 리치  댓글주소  수정/삭제  댓글쓰기

    안녕하세요~ BAdI 감도 못잡다가 좋은 포스팅 발견하고 갑니다ㅠㅠ
    혹시 맨 처음에 Enhancement와 BAdI 리스트 조회하셨던 부분 어떻게 하는지 알 수 있을까요...?

    2017.04.14 14:23

업무가 바뀌고 직장이 바뀌다 보니, 블로그에 신경은 거의 못쓰고 있는 상태에서...

방금 ABAP관련한 문의를 듣고 올려둡니다. 다음에도 물어보는 분이 있다면 링크를 보여드리는게 빠를 것 같군요. 

방금 받았던 질문입니다 - "JAVA의 섭버전 처럼 ABAP의 이전 버전으로 복원은 안되나요?"

대답은? 물론됩니다  단! 이전 버전이 있을때 얘기지만요~



잘난척 하려는 것은 아니나;; JAVA 에서 SAP으로의 전향 후 거의 해외 프로젝트만 하다보니 지금까지도 영문 메뉴가 익숙한데...

지금의 환경에서는 한글을 써야하기에, 한글로 캡쳐 화면을 떴습니다.



상단 메뉴에서 유틸리티 - 버전 - 버전관리 부분으로 들어갑니다.




줄줄이 리스트가 올라오는데, 원하는 버전을 선택하여 복원 버튼을 클릭해주면 됩니다.


날씨가 어느새 일교차가 커서, 새벽으론 서늘합니다. 자주 찾아뵙지 못하고 있지만~ 건강 조심하시고~

행복으로 가득한 하루하루 되시길 바랍니다




댓글을 달아 주세요

  1. Favicon of https://whiteink.kr BlogIcon 하얀잉크  댓글주소  수정/삭제  댓글쓰기

    오랜만에 뵈어요 밋첼 님.
    여전히 바쁘시네요. 완전복귀는 아니지만 많이 반갑네요 ㅋ
    전 블로그를 하는 직장으로 옮겼답니다. 사람일 참 모를일이네요 ^^

    2011.09.07 01:36 신고
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      하얀잉크님~ 안녕하세요^^ 오랫만에 인사드립니다
      먹고 살기에 힘을 쓰다보니, 정신없이 보내고만 있습니다.
      조금씩 여유를 찾아야 할텐데... 곧! 그런 날이 오리라 생각합니다.
      환절기 감기 조심하시고 건강하세요^^

      2011.09.22 09:41 신고
  2. Favicon of http://jongamk.tistory.com BlogIcon 핑구야 날자  댓글주소  수정/삭제  댓글쓰기

    저희도 SAP R3사용하는데 아밥을 잠깐해보다가 전문가에게 외주를....ㅋㅋ

    2011.09.07 08:11
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      핑구야날자님~ 늘 찾아주시고 글 남겨주셔서 감사드립니다.
      하나하나 새로이 적응을 하고 자리를 잡으려하다보니 여유를 아직은 못찾고 있습니다^^;;;
      일교차가 큰데 감기 조심하시고~ 행복한 하루하루 보내시기 바랍니다.

      2011.09.22 09:42 신고
  3. Favicon of http://dragonphoto.tistory.com BlogIcon 드래곤  댓글주소  수정/삭제  댓글쓰기

    어려운거 하시네요 ^^

    2011.09.21 19:00
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      안녕하세요^^ 찾아뵙지도 못하는데 들려주셨네요~ 감사합니다.
      누구나 자신이 하는 일이 가장 어려운일이 아닐까~ 싶습니다.
      위의 내용들은 알고보면 별거 아니랍니다..ㅋ

      2011.09.22 09:43 신고
  4. Favicon of http://blog.hisastro.com BlogIcon 그별  댓글주소  수정/삭제  댓글쓰기

    도대체 밋첼님은 못하는게 뭡니까? 와~ 대단하시네요. 암튼... 요즘 바빠서 블로그 못하는 경우가 저뿐만은 아닌 듯...
    괜히 반갑습니다. 이런 것도 기분 좋은 것으로 생각할 수 있는 여유가 문득 좋네요. ^^
    늘 좋은 일들이 많으시길 기원하겠습니다. 고맙습니다. 밋첼님.. (_ _)

    2011.09.24 12:48
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      어이쿠;; 안녕하십니까?
      위에 올려놓은 내용은.. 먹고 사는 길 중의 하나일 뿐이랍니다;;;
      건강하게 잘 지내고 계신가요? 날씨가 쌀쌀해진다고 하는데, 건강 조심하시고 행복한 하루하루 되시길 바랍니다.
      좋종 찾아뵙겠습니다^^

      2011.09.28 21:34 신고
  5. Favicon of http://kingo.tistory.com BlogIcon 하늘엔별  댓글주소  수정/삭제  댓글쓰기

    정말 오랫만에 찾아 뵙습니다.
    사는 게 뭔지 그냥 분주하기만 하네요. ㅎㅎㅎ

    2011.10.07 12:52
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      건강하신지요?
      자주 찾아뵈려 마음을 먹지만.. 일에 치여 이래저래 살다보니 인사도 자주 못드리네요~
      날씨 변덕이 심할 듯 하고, 추워진다고 합니다.. 감기 조심하시고 행복한 하루하루 되세요^^

      2011.10.23 22:52 신고
  6. Favicon of http://garamdong.tistory.com/ BlogIcon 안단테  댓글주소  수정/삭제  댓글쓰기

    주말에 날씨 포근하다가 또 추적추적 비가 내리네요.
    쌀쌀한 기온에 감기 조심하시고, 좋은 한 주 되시길 바래요^^

    2011.10.23 22:28
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      안단테님 계신 곳엔 비가 내리나 보군요~
      제가 밖을 안내다 봐서 모르고 있는 것이려나요...
      요즘은 어찌 지내시는지.. 건강하신가요?
      내일부터 2~3일간 또 추워진다고 하는데.. 건강 조심하시고~ 감기랑은 친해지지 마세요^^;;;
      행복 가득한 한주.. 그리고 10월의 마지막이 되시길 바랍니다~~

      2011.10.23 22:54 신고
  7.  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    2012.03.20 00:32
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      작년 초 까지 다른 회사에 있었다가, 현재의 회사로 이직을 했답니다.
      해외를 원하신다면, 개발자 혹은 SM으로도 가능한 곳들이 있으니 알아보시면 되지 싶습니다~
      미국, 호주, 유럽 쪽으로 여전히 갈 수 있는 곳들은 꽤 있습니다^^

      2012.03.20 08:00 신고

ABAP : SY- 변수

개발자愛/SAP 2011. 8. 8. 13:03 by 밋첼™
정말 자주 사용하는 녀석은 몇 안되지만... 가끔 사용하는 녀석들을 기억하기 위해서도 메모~


SY-ABCDE - Constant: Alphabet (A, B, C, ...)

SY-APPLI - SAP applications

SY-BATCH - Background active (X)

SY-BATZD - Background SUBMIT: Daily

SY-BATZM - Background SUBMIT: Monthly

SY-BATZO - Background SUBMIT: Once

SY-BATZS - Background SUBMIT: Immediately

SY-BATZW - Background SUBMIT: Weekly

SY-BINPT - Batch input active (X)

SY-BREP4 - Background SUBMIT: Root name of request report

SY-BSPLD - Background SUBMIT: List output to spool

SY-CALLD - CALL mode active (X)

SY-CALLR - Print: ID for print dialog function

SY-CCURS - Rate specification/result field (CURRENCY CONVERT)

SY-CCURT - Table rate from currency conversion

SY-CDATE - Date of rate from currency conversion

SY-COLNO - Current column during list creation

SY-CPAGE - Current page number

SY-CPROG - Runtime: Main program

SY-CTABL - Exchange rate table from currency conversion

SY-CTYPE - Exchange rate type 'M','B','G' from CURRENCY CONVERSION

SY-CUCOL - Cursor position (column)

SY-CUROW - Cursor position (line)

SY-DATAR - Flag: Data received

SY-DATLO - Local date for user

SY-DATUM - System: Date

SY-DATUT - Global date related to UTC (GMT)

SY-DAYST - Summertime active ? ('daylight saving time')

SY-DBCNT - Number of elements in edited dataset with DB operations

SY-DBNAM - Logical database for ABAP/4 program

SY-DBSYS - System: Database system

SY-DCSYS - System: Dialog system

SY-DSNAM - Runtime: Name of dataset for spool output

SY-DYNGR - Screen group of current screen

SY-DYNNR - Number of current screen

SY-FDAYW - Factory calendar weekday

SY-FDPOS - Location of a string

SY-FMKEY - Current function code menu

SY-HOST - Host

SY-INDEX - Number of loop passes

SY-LANGU - SAP logon language key

SY-LDBPG - Program: ABAP/4 database program for SY-DBNAM

SY-LILLI - Number of current list line

SY-LINCT - Number of list lines

SY-LINNO - Current line for list creation

SY-LINSZ - Line size of list

SY-LISEL - Interact.: Selected line

SY-LISTI - Number of current list line

SY-LOCDB - Local database exists

SY-LOCOP - Local database operation

SY-LOOPC - Number of LOOP lines at screen step loop

SY-LSIND - Number of secondary list

SY-LSTAT - Interact.: Status information for each list level

SY-MACDB - Program: Name of file for matchcode access

SY-MACOL - Number of columns from SET MARGIN

SY-MANDT - Client number from SAP logon

SY-MARKY - Current line character for MARK

SY-MAROW - No. of lines from SET MARGIN statement

SY-MODNO - Number of alternative modi

SY-MSGID - Message ID

SY-MSGLI - Interact.: Message line (line 23)

SY-MSGNO - Message number

SY-MSGTY - Message type (E,I.W,...)

SY-MSGV1 - Message variable

SY-MSGV2 - Message variable

SY-MSGV3 - Message variable

SY-MSGV4 - Message variable

SY-OPSYS - System: Operating system

SY-PAART - Print: Format

SY-PAGCT - Page size of list from REPORT statement

SY-PAGNO - Runtime: Current page in list

SY-PDEST - Print: Output device

SY-PEXPI - Print: Spool retention period

SY-PFKEY - Runtime: Current F key status

SY-PLIST - Print: Name of spool request (list name)

SY-PRABT - Print: Department on cover sheet

SY-PRBIG - Print: Selection cover sheet

SY-PRCOP - Print: Number of copies

SY-PRDSN - Print: Name of spool dataset

SY-PREFX - ABAP/4 prefix for background jobs

SY-PRIMM - Print: Print immediately

SY-PRNEW - Print: New spool request (list)

SY-PRREC - Print: Recipient

SY-PRREL - Print: Delete after printing

SY-PRTXT - Print: Text for cover sheet

SY-REPID - Program: Name of ABAP/4 program

SY-RTITL - Print: Report title of program to be printed

SY-SAPRL - System: SAP Release

SY-SCOLS - Columns on screen

SY-SLSET - Name of selection set

SY-SPONO - Runtime: Spool number for list output

SY-SPONR - Runtime: Spool number from TRANSFER statement

SY-SROWS - Lines on screen

SY-STACO - Interact.: List displayed from column

SY-STARO - Interact.: Page displayed from line

SY-STEPL - Number of LOOP line at screen step

SY-SUBRC - Return value after specific ABAP/4 statements

SY-SUBTY - ABAP/4: Call type for SUBMIT

SY-SYSID - System: SAP System ID

SY-TABIX - Runtime: Current line of an internal table

SY-TCODE - Session: Current transaction code

SY-TFDSN - Runtime: Dataset for data extracts

SY-TFILL - Current number of entries in internal table

SY-TIMLO - Local time for user

SY-TIMUT - Global time related to UTC (GMT)

SY-TITLE - Title of ABAP/4 program

SY-TLENG - Line width of an internal table

SY-TMAXL - Maximum number of entries in internal table

SY-TSTLO - Timestamp (date and time) for user

SY-TSTUT - Timestamp (date and time) related to UTC (GMT)

SY-TVAR0 - Runtime: Text variable for ABAP/4 text elements

SY-TVAR1 - Runtime: Text variable for ABAP/4 text elements

SY-TVAR2 - Runtime: Text variable for ABAP/4 text elements

SY-TVAR3 - Runtime: Text variable for ABAP/4 text elements

SY-TVAR4 - Runtime: Text variable for ABAP/4 text elements

SY-TVAR5 - Runtime: Text variable for ABAP/4 text elements

SY-TVAR6 - Runtime: Text variable for ABAP/4 text elements

SY-TVAR7 - Runtime: Text variable for ABAP/4 text elements

SY-TVAR8 - Runtime: Text variable for ABAP/4 text elements

SY-TVAR9 - Runtime: Text variable for ABAP/4 text elements

SY-TZONE - Time difference from 'Greenwich Mean Time' (UTC) in seconds

SY-UCOMM - Interact.: Command field function entry

SY-ULINE - Constant: Underline (---------...)

SY-UNAME - Session: SAP user from SAP logon

SY-UZEIT - System: Time

SY-VLINE - Constant: Vertical bar

SY-WAERS - T001: Company code currency after reading B segment

SY-WILLI - Number of current window line

SY-WINCO - Cursor position in window (column)

SY-WINDI - Index of current window line

SY-WINRO - Cursor position in window (line)

SY-WINSL - Interact.: Selected window line

SY-WINX1 - Window coordinate (column left)

SY-WINX2 - Window coordinate (column right)

SY-WINY1 - Window coordinate (line left)

SY-WINY2 - Window coordinate (line right)

SY-WTITL - Standard page header indicator

SY-XCODE - Extended command field

SY-ZONLO - Time zone of user

 

TAG abap, SAP, sy, SY-변수

댓글을 달아 주세요

  1. Favicon of http://jongamk.tistory.com BlogIcon 핑구야 날자  댓글주소  수정/삭제  댓글쓰기

    ERP를 하시나봐요,, 저희도 SAP r3를 사용하는데 ㅋㅋ 아밥 보니 반갑네요

    2011.08.09 08:07
  2. Favicon of http://bloping.tistory.com BlogIcon 새라새  댓글주소  수정/삭제  댓글쓰기

    잘지내시죠..
    잠시 들렸다 갑니다..
    그동안 장마에 태풍에 비가 많이 왔는데.. 별탈이 없으신지요??
    이제는 아마도 찜통더위가 시작이 될것 같은데 항상 건강 잘 챙기시길 바래요..^^

    2011.08.09 22:57
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      건강하신가요? ^^ 인사를 드리러 자주 가야하는데...
      그런 상황이 안된다는 핑계하에 블로그는 거의 신경을 못쓰고 있습니다.
      건강 조심하시고~ 행복 가득한 하루하루 되시길 바랍니다~

      2011.08.11 18:07 신고
  3. Favicon of https://slds2.tistory.com BlogIcon ★입질의 추억★  댓글주소  수정/삭제  댓글쓰기

    밋첼님 잘 지내시는지요. 요새 통 소식이 없길래 궁금하던 찰나
    오늘 들려서 안부 드리고 갑니다. 벌써 9월이네요~
    늘 건강하시구요. 소식 있음 전해주세요^^

    2011.09.03 15:29 신고
    • Favicon of https://sarange.net BlogIcon 밋첼™  댓글주소  수정/삭제

      아! 안부 남겨주신걸 이제야 보네요.. 잘 지내고 계신가요? 먼저 찾아주시니 감사합니다.
      이직과 교육, 이런 저런 일들로 바쁜 하루하루를 보내고 있다는 핑계 아래.. 블로그 신경을 못쓰고 있었습니다.
      조금씩 여유를 찾아보려하는데, 아직은 쉽지가 않네요.

      입질의 추억님께선 건강하게 잘 지내고 계신가요?
      좋은 소식은 없는지 또한 궁금합니다~
      어느덧 일교차가 큰데 건강조심하시고~ 행복 가득한 하루하루 보내시길 바랍니다^^

      2011.09.22 12:28 신고
매크로 파일까지 잘 만들어서 올려놓고... 이젠 끝났겠지.. 하고 잊고 있었는데...

오늘 아침 이슈라며 가지고 와서 주는 사항이 있었다.


분명 ALV 상에선 소숫점 까지 정상적으로 표현이 되는데,

매크로를 이용하여 엑셀로 다운 받은 파일에선 뒤가 .00 으로 되어있고 반올림이 되어있었다는 것.

혹시 내가 인터널 테이블을 넘길때 부터 잘못넘기나 싶어.. 디버깅을 해봐도... 넘길때의 값은 정상...


아니 뭐가 문제일까? 생각을 하고 해봐도 알 수가 없었기에...

Cvar() 도 써보고 데이터 타입도 바꾸어 보았지면 결과는 마찬가지...

하다하다 생각한 것이 '에잇.. 안되면 스트링으로 뿌려보지 뭐!!' 하고 생각을 하고..


엑섹에서 셀 서식은 숫자(소숫점 두자리 지정)로 하고,

매크로 에서는 Dim lp As String 으로 정의를 해서 데이터를 받은 뒤 뿌려보았는데...



표현도 정상적으로 되고 소숫점도 제대로 나온다.

대체 난 뭘 하고 있었던 것인지... OTL...



역시나 엑셀 매크로 관련한 프로그램은 자주 그리고 많이 쓰지 않으므로...

잊어버릴까 싶어.. 잽싸게 메모.. 메모...


TAG abap, Excel, macro, SAP, VBA

댓글을 달아 주세요

스스로를 위해 메모해두는 것입니다.

AFTER 는 입력 일자(DATUM) 입니다. 전월까지의 기초금액을 가져오려면

전월 마지막날을 넣어주면 되겠습니다.



DATA : RETURN LIKE  BAPIRETURN.
DATA : KEYBALANCE LIKE  BAPI3007_3 OCCURS 0 WITH HEADER LINE.



CALL FUNCTION 'BAPI_AR_ACC_GETKEYDATEBALANCE'
        EXPORTING
          NOTEDITEMS = ''
          BALANCESPGLI = 'X'
          KEYDATE = AFTER
          CUSTOMER = LV_LIST-KUNNR
          COMPANYCODE = 'HA01'
        IMPORTING
          RETURN = RETURN
        TABLES
          KEYBALANCE = KEYBALANCE
        EXCEPTIONS
          OTHERS = 01.

댓글을 달아 주세요

늘 쓰면서도 늘 잊어먹기에 메모합니다.


  MESSAGE S001 WITH 'Check Division Parameter' DISPLAY LIKE 'E'.


TAG abap

댓글을 달아 주세요

말씀드릴 사항으로.. 테스트 소스가 필요하시면 메일을 주세요~

마우스 우클릭을 막은 상태니 메일 확인 후 보내드리겠습니다.


최근의 경우 METHOD 를 이용한 ALV 를 거의 사용하는데, TOP-OF-PAGE 가 필요할 경우가 종종있다.

일반 CUSTOM으로 가능한 부분외에 DOCKING 을 사용한 부분에 대한 내용임.

H사 해외프로젝트에 들어오니, 입출력이 가능한 온라인 프로그램에 TOP_OF_PAGE를 달아 달라고 하여, 테스트 해봄.

먼저 오늘 도출한 결과 창의 모습.

Click~☆ 하면 크게 보입니다

오늘 도출한 결과창 - 이벤트는 각각 걸었음




아래는 테스트 프로그램 관련한 결과 창 및 소스.

Click~

상단 : TOP_OF_PAGE, 하단 : ALV


상단으로 TOP_OF_PAGE 가 보인다. 

요지는 스크린을 두개로 나누어(SPLIT) 상단은 TOP_OF_PAGE 로, 하단은 데이터의 내용을 뿌리는 것으로 사용한다.



아래는 프로그램 소스.

1. Z_ALVTOP_TEST 

*&----------------------------------------------------*
*& Report  Z_ALVTOP_TEST
*&
*&----------------------------------------------------*
*&
*&----------------------------------------------------*
 
REPORT Z_ALVTOP_TEST  MESSAGE-ID ZTEST  .

INCLUDE Z_ALVTOP_TESTTOP.
INCLUDE Z_ALVTOP_TESTO01.
INCLUDE Z_ALVTOP_TESTI01.
INCLUDE Z_ALVTOP_TESTF01.

START-OF-SELECTION.
  PERFORM GET_DATA.

END-OF-SELECTION.

  IF NOT IT_FLIGHT[] IS INITIAL.
    CALL SCREEN 100.
  ELSE.
    MESSAGE I002 WITH 'NO DATA SELECTED!!!'.
  ENDIF.



2. Z_ALVTOP_TESTTOP 
*&----------------------------------------------------*
*&  Include           Z_ALVTOP_TESTTOP
*&----------------------------------------------------*
DATA: IT_FLIGHT TYPE TABLE OF SFLIGHT.

DATA: OK_CODE LIKE SY-UCOMM,
      SAVE_OK LIKE SY-UCOMM.

DATA: G_CONTAINER TYPE SCRFNAME VALUE 'CONTROL',
      O_DYNDOC_ID  TYPE REF TO CL_DD_DOCUMENT,
      O_SPLITTER   TYPE REF TO CL_GUI_SPLITTER_CONTAINER,
      O_PARENT_GRID TYPE REF TO CL_GUI_CONTAINER,
      O_PARENT_TOP TYPE REF TO CL_GUI_CONTAINER,
      O_HTML_CNTRL TYPE REF TO CL_GUI_HTML_VIEWER.

*&----------------------------------------------------*
*       CLASS LCL_EVENT_HANDLER DEFINITION
*&----------------------------------------------------*
*
*&----------------------------------------------------*
CLASS LCL_EVENT_HANDLER DEFINITION .
  PUBLIC SECTION .
    METHODS:
*Event Handler for Top of page
    TOP_OF_PAGE FOR EVENT TOP_OF_PAGE
           OF CL_GUI_ALV_GRID
           IMPORTING E_DYNDOC_ID.
ENDCLASS.             "lcl_event_handler DEFINITION
*-----------------------------------------------------*
*       CLASS LCL_EVENT_HANDLER IMPLEMENTATION
*-----------------------------------------------------*
*
*-----------------------------------------------------*
CLASS LCL_EVENT_HANDLER IMPLEMENTATION.
  METHOD TOP_OF_PAGE.
* Top-of-page event
    PERFORM EVENT_TOP_OF_PAGE USING O_DYNDOC_ID.

  ENDMETHOD.                            "top_of_page
ENDCLASS.       "LCL_EVENT_HANDLER IMPLEMENTATION

DATA: G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
      G_HANDLER TYPE REF TO LCL_EVENT_HANDLER. "handler



2. Z_ALVTOP_TESTO01 
*&---------------------------------------------------*
*&  Include           Z_ALVTOP_TESTO01
*&---------------------------------------------------*
*----------------------------------------------------*
*  MODULE STATUS_0100 OUTPUT
*----------------------------------------------------*
*
*----------------------------------------------------*
MODULE STATUS_0100 OUTPUT.

  SET PF-STATUS 'STATUS_0100'.
  SET TITLEBAR 'TITLE_0100'.

  IF G_CUSTOM_CONTAINER IS INITIAL.
    PERFORM CREATE_ALV.
  ENDIF.

ENDMODULE.                 " STATUS_0100  OUTPUT


3. Z_ALVTOP_TESTI01 
*&---------------------------------------------------*
*&  Include           Z_ALVTOP_TESTI01
&----------------------------------------------------*
*----------------------------------------------------*
*  MODULE USER_COMMAND_0100 INPUT
*----------------------------------------------------*
*
*----------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.

  SAVE_OK = OK_CODE.
  CLEAR OK_CODE.
  CASE SAVE_OK.

    WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
      LEAVE TO SCREEN 0.

  ENDCASE.

ENDMODULE.                 " USER_COMMAND_0100  INPUT


4. Z_ALVTOP_TESTF01 
*---------------------------------------------------*
*&  Include           Z_ALVTOP_TESTF01
*---------------------------------------------------* 
*---------------------------------------------------*
*&      Form  CREATE_ALV
*---------------------------------------------------*
*       text
*---------------------------------------------------*
FORM CREATE_ALV .

  DATA: G_GRID TYPE REF TO CL_GUI_ALV_GRID.

  CREATE OBJECT G_CUSTOM_CONTAINER
    EXPORTING
      CONTAINER_NAME = G_CONTAINER.

* Create TOP-Document
  CREATE OBJECT O_DYNDOC_ID
    EXPORTING
      STYLE = 'ALV_GRID'.

* Create Splitter for custom_container
  CREATE OBJECT O_SPLITTER
    EXPORTING
      PARENT  = G_CUSTOM_CONTAINER
      ROWS    = 2
      COLUMNS = 1.

  CALL METHOD O_SPLITTER->GET_CONTAINER
    EXPORTING
      ROW       = 1
      COLUMN    = 1
    RECEIVING
      CONTAINER = O_PARENT_TOP.

  CALL METHOD O_SPLITTER->GET_CONTAINER
    EXPORTING
      ROW       = 2
      COLUMN    = 1
    RECEIVING
      CONTAINER = O_PARENT_GRID.

* Set height for g_parent_html
  CALL METHOD O_SPLITTER->SET_ROW_HEIGHT
    EXPORTING
      ID     = 1
      HEIGHT = 5.

  CREATE OBJECT G_GRID
    EXPORTING
      I_PARENT = O_PARENT_GRID.

  CREATE OBJECT G_HANDLER.

  SET HANDLER G_HANDLER->TOP_OF_PAGE FOR G_GRID.

*Calling the Method for ALV output
  CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      I_STRUCTURE_NAME = 'SFLIGHT'
    CHANGING
      IT_OUTTAB        = IT_FLIGHT[].


  CALL METHOD O_DYNDOC_ID->INITIALIZE_DOCUMENT
    EXPORTING
      BACKGROUND_COLOR = CL_DD_AREA=>COL_TEXTAREA.

* Processing events
  CALL METHOD G_GRID->LIST_PROCESSING_EVENTS
    EXPORTING
      I_EVENT_NAME = 'TOP_OF_PAGE'
      I_DYNDOC_ID  = O_DYNDOC_ID.

ENDFORM.                     "CREATE_ALV


*---------------------------------------------------*
*&      Form  EVENT_TOP_OF_PAGE
*---------------------------------------------------*
*       text
*---------------------------------------------------*
*      -->DG_DYNDOC_ID  text
*---------------------------------------------------*
FORM EVENT_TOP_OF_PAGE USING   DG_DYNDOC_ID TYPE REF TO CL_DD_DOCUMENT.

  DATA : DL_TEXT(255) TYPE C.  "Text
  CALL METHOD DG_DYNDOC_ID->ADD_TEXT
    EXPORTING
      TEXT         = 'Flight Details'
      SAP_STYLE    = CL_DD_AREA=>HEADING
      SAP_FONTSIZE = CL_DD_AREA=>LARGE
      SAP_COLOR    = CL_DD_AREA=>LIST_HEADING_INT.

  CALL METHOD DG_DYNDOC_ID->ADD_GAP
    EXPORTING
      WIDTH = 200.

* Add new-line
  CALL METHOD DG_DYNDOC_ID->NEW_LINE.

  CALL METHOD DG_DYNDOC_ID->NEW_LINE.


  CLEAR : DL_TEXT.

* program ID
  DL_TEXT = 'Program Name :'.

  CALL METHOD DG_DYNDOC_ID->ADD_GAP.

  CALL METHOD O_DYNDOC_ID->ADD_TEXT
    EXPORTING
      TEXT         = DL_TEXT
      SAP_EMPHASIS = CL_DD_AREA=>HEADING
      SAP_COLOR    = CL_DD_AREA=>LIST_HEADING_INT.

  CLEAR DL_TEXT.

  DL_TEXT = SY-REPID.

  CALL METHOD O_DYNDOC_ID->ADD_TEXT
    EXPORTING
      TEXT         = DL_TEXT
      SAP_EMPHASIS = CL_DD_AREA=>HEADING
      SAP_COLOR    = CL_DD_AREA=>LIST_NEGATIVE_INV.

* Add new-line
  CALL METHOD DG_DYNDOC_ID->NEW_LINE.

  CLEAR : DL_TEXT.

  CLEAR : DL_TEXT.

* program ID
  DL_TEXT = 'User Name :'.

  CALL METHOD DG_DYNDOC_ID->ADD_GAP.

  CALL METHOD O_DYNDOC_ID->ADD_TEXT
    EXPORTING
      TEXT         = DL_TEXT
      SAP_EMPHASIS = CL_DD_AREA=>HEADING
      SAP_COLOR    = CL_DD_AREA=>LIST_HEADING_INT.

  CLEAR DL_TEXT.

  DL_TEXT = SY-UNAME.

  CALL METHOD O_DYNDOC_ID->ADD_TEXT
    EXPORTING
      TEXT         = DL_TEXT
      SAP_EMPHASIS = CL_DD_AREA=>HEADING
      SAP_COLOR    = CL_DD_AREA=>LIST_NEGATIVE_INV.

* Add new-line
  CALL METHOD DG_DYNDOC_ID->NEW_LINE.

  CLEAR : DL_TEXT.

* Add new-line
  CALL METHOD DG_DYNDOC_ID->NEW_LINE.


  PERFORM DISPLAY.

ENDFORM.                    " EVENT_TOP_OF_PAGE

*---------------------------------------------------*
*&      Form  DISPLAY
*---------------------------------------------------*
*       text
*---------------------------------------------------*
FORM DISPLAY.

* Creating html control
  IF O_HTML_CNTRL IS INITIAL.
    CREATE OBJECT O_HTML_CNTRL
      EXPORTING
        PARENT = O_PARENT_TOP.
  ENDIF.
  CALL METHOD O_DYNDOC_ID->MERGE_DOCUMENT.
  O_DYNDOC_ID->HTML_CONTROL = O_HTML_CNTRL.
* Display document
  CALL METHOD O_DYNDOC_ID->DISPLAY_DOCUMENT
    EXPORTING
      REUSE_CONTROL      = 'X'
      PARENT             = O_PARENT_TOP
    EXCEPTIONS
      HTML_DISPLAY_ERROR = 1.
  IF SY-SUBRC NE 0.
    MESSAGE I100 WITH 'Error Top-of-page'.
  ENDIF.
ENDFORM.                    " display
*---------------------------------------------------*
*&      Form  GET_DATA
*---------------------------------------------------*
*       text
*---------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*---------------------------------------------------*
FORM GET_DATA .

    SELECT * FROM SFLIGHT
      UP TO 20 ROWS
      INTO TABLE IT_FLIGHT.

ENDFORM.                    " GET_DATA





[LAYOUT - SCREEN PAINTER]

SCREEN PAINTER

Click~★ 하면 크게 볼 수 있습니다


  Z_ALVTOP_TESTTOP 에서

  G_CONTAINER TYPE SCRFNAME VALUE 'CONTROL' 


이라고 정의하였으므로 CONTROL 이라는 이름을 사용하였음.

댓글을 달아 주세요

  1. Favicon of https://neoni0106.tistory.com BlogIcon Thinkmaniac  댓글주소  수정/삭제  댓글쓰기

    정선생님, 안녕하세요. 우동훈입니다.
    웹서핑하다 들어왔습니다. ^^

    근황 좀 알려주세요. woodeng@지메일..

    2014.09.01 18:13 신고

The ABAP program lines are wider than the internal table

CX_SY_READ_SRC_LINE_TOO_LONG

라는 이유로 덤프가 떨어진다면?




ABAP EDITER 에서 라인의 길이가 72자를 넘어섰기 때문.

어라? 이게 뭐지~ 라고 생각할 수 있으나, 생각보다 단순한 부분으로 해결책은 간단.


잘 안보인다면? Click~ 하세요^^

Menu-> Utility -> setting



한번씩 잊어버리는 어리숙한 나를 일깨우기 위해, 확인차 기록...

이렇게 써 놓고도.. 언젠가는 또 확인을 위해 이 글을 열어볼지도..ㅠㅠ



댓글을 달아 주세요

가끔 특정 테이블 필드가 어느 프로그램에서 사용되고 있는지 궁금할 때가 있습니다.

그럴때는 se38에 가셔서

RPR_ABAP_SOURCE_SCAN

검색시에는 개발클래스를 입력하시고 문자열에는 *찾고자 하는 문자열* ,
                검색기준에서는 4개 체크박스를 다 찍어주세요..

그리고 검색하시면 됩니다.



출처 : Erpschool (http://www.erpschool.net/)



댓글을 달아 주세요

1 2 
BLOG main image
:+:+: 사랑愛 - Ever after :+:+:
제 사진은 예술이 아닌 추억의 부분입니다. 방법도 이론도 없으며, 즐겁게 담고 기록으로 남길뿐입니다 <Facebook> Mitchell Jung
by 밋첼™

카테고리

분류 전체보기 (367)
사랑愛 (9)
사진愛_Photo (94)
가족愛 (0)
개발자愛 (65)
음악愛 (15)
그외愛 (176)
리뷰愛 (8)

달력

«   2020/10   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
textcubeDesignMyselfget rss