SAP joy

SUBMIT, CALL TRANSACTION 이후 리턴값 문의

[레벨:6]애경이 2018.07.31 12:03

안녕하세요


현재 프로그램에서 SUBMIT을 호출합니다.


SUBMIT ZFII0040
          WITH S_LIFNR GS_DATA-LIFNR
          AND RETURN.


제가하고싶은건 저 문구를 실행하면 나오는 데이터의 값을 받고 싶은 겁니다.

실제로 저 프로그램(인터페이스 프로그램)을 돌리면, 메시지만 화면 하단에 뿌려줍니다.

혹시 그 메시지를 받아 올 수 있는 방법이 있을까요?



의견 (0)

질문자 선택 답변 보기 답변등록

현재 답변들 2
[레벨:1]코리08 2018.07.31 13:43
질문자로부터 선택받은 답변입니다

정확하게 원하시는게 맞는지는 모르겠습니다.

ZFI0040에서 EXPORT 문을 사용해서 ABAP Memory 설정 

* gv_a에 있는 값을 ABAP Memory 'XXX'의 var1에 카피 

gv_a = '1'.

EXPORT var1 FROM gv_a TO MEMORY ID 'XXX'.


SUBMIT 문이 있는 원래 프로그램 

IMPORT var1  TO gv_b TO MEMORY ID 'XXX'.

* gv_b에  ABAP Memory 'XXX' 에 있는 var1 값이 들어옴 


한개의 ABAP Memory 영역에 여러개의 변수가 존재할 수 있는 internal table도 가능합니다.

의견 (1)
[레벨:5]재곤 2018.08.02 21:33

호출 되는 프로그램을 수정하지 않고 순전히 결과값을 내 프로그램으로 가져오는 방법

(출처 https://blogs.sap.com/2011/07/07/gain-programmatic-access-to-data-of-sapgui-alv-reports/)


<style type="text/css"> SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } .L0S70 { color: #808080; } </style>       DATA lr_pay_data              TYPE REF TO data.
      FIELD-SYMBOLS <lt_pay_data>   TYPE ANY TABLE.
      FIELD-SYMBOLS <wa>            TYPE        any.


      cl_salv_bs_runtime_info=>set(
          EXPORTING display  abap_false
                    metadata abap_false
                    data     abap_true ).


아래는 SUBMIT 인데, 스크린 만드시기 귀찮으시면 USING SEL.. 대신에  via selection screen 사용하실수도 있습니다.
<style type="text/css"> SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S32 { color: #3399FF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } .L0S70 { color: #808080; } </style>       SUBMIT rkpep003 USING SELECTION-SCREEN 1000
      WITH   cn_projn-low EQ p_stpid
      WITH   cn_pspnr     IN s_stpos
      WITH   r_budat      IN s_budat
      WITH   p_disvar     EQ p_vari
      AND RETURN.

      CHECK sy-subrc EQ 0.


아래가 결과값을 가져오는거구요

      TRY.
          cl_salv_bs_runtime_info=>get_data_ref(
            IMPORTING r_data lr_pay_data ).
          ASSIGN lr_pay_data->TO <lt_pay_data>.
        CATCH cx_salv_bs_sc_runtime_info.
          MESSAGE `Unable to retrieve ALV data` TYPE 'E'.
      ENDTRY.


항상 빈자리는 깨끗이

     cl_salv_bs_runtime_info=>clear_all).


뭔가 착오가 있으면 항상 손을 들어 주기.

      IF lr_pay_data IS INITIAL.
        MESSAGE s004(zcom).
        gf_error abap_true.
        EXIT.
      ENDIF.


내가 정의한 ALV 테이블에 이관하는겁니다.

      LOOP AT <lt_pay_data> ASSIGNING <wa>.
        CLEAR gs_data.
        MOVE-CORRESPONDING <wa> TO gs_data.
        APPEND gs_data TO gt_data.
      ENDLOOP.




의견 (0)

서비스 링크

X
Login

브라우저를 닫더라도 로그인이 계속 유지될 수 있습니다. 로그인 유지 기능을 사용할 경우 다음 접속부터는 로그인을 하실 필요가 없습니다. 단, 게임방, 학교 등 공공장소에서 이용 시 개인정보가 유출될 수 있으니 꼭 로그아웃을 해주세요.

X