조회 펑션 모듈
ls_tab1 LIKE zbexs0010,
lt_tab2 LIKE TABLE OF zbext0020,
lt_tab3 LIKE TABLE OF zbext0040,
lt_tab4 LIKE TABLE OF zbext0050.
CASE i_mode.
WHEN 'A'.
SELECT *
FROM zbext0010 AS a
INNER JOIN zbmdt0030 AS b ON a~PCODE = b~PCODE
INNER JOIN zbext0030 AS c ON a~codhc = c~codhc
INNER JOIN zbmdt0010 AS d ON B~AUEMP = d~empno
INTO CORRESPONDING FIELDS OF TABLE lt_tab1
WHERE a~empno = i_empno AND
a~cumon = i_cumon AND
a~stcod = i_stcod .
LOOP AT lt_tab1 INTO ls_tab1.
MOVE-CORRESPONDING ls_tab1 TO tab1.
승인자 이름을 들고오기위해 프로젝트 마스터의 승인자 번호와 사원테이블을 조인함.
DATA: lt_tab1 LIKE TABLE OF zbexs0010,
ls_tab1 LIKE zbexs0010,
lt_tab2 like TABLE OF zbext0010.
CASE i_mode.
WHEN 'A'.
SELECT * from zbext0010 into CORRESPONDING FIELDS OF table lt_tab1
where stcod = 'A'
AND empno = i_empno
AND cumon = i_cumon
AND JPNUM = I_JPNUM.
LOOP AT lt_tab1 INTO ls_tab1.
ls_tab1-JPDAT = sy-datum.
ls_tab1-stcod = 'B'.
MODIFY lt_tab1 FROM ls_tab1.
ENDLOOP.
MOVE-CORRESPONDING lt_Tab1 to lt_tab2.
MODIFY zbext0010 from TABLE lt_tab2.
IF sy-subrc = 0.
e_message = '성공했습니다.'.
ELSE.
e_message = '실패했습니다.'.
ENDIF.
ENDCASE.
ENDFUNCTION.
DATA: lt_tab1 LIKE TABLE OF zbexs0010,
ls_tab1 LIKE zbexs0010,
lt_tab2 like TABLE OF zbext0010.
CASE i_mode.
WHEN 'A'.
SELECT * from zbext0010 into CORRESPONDING FIELDS OF table lt_tab1
where stcod = ''
AND empno = i_empno
AND cumon = i_cumon
AND JPNUM = I_JPNUM.
LOOP AT lt_tab1 INTO ls_tab1.
ls_tab1-stcod = 'A'.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = '1'
object = 'ZJPNUM'
* QUANTITY = '1'
* SUBOBJECT = ' '
* TOYEAR = '0000'
* IGNORE_BUFFER = ' '
IMPORTING
NUMBER = ls_tab1-JPNUM
* QUANTITY =
* RETURNCODE =
* EXCEPTIONS
* INTERVAL_NOT_FOUND = 1
* NUMBER_RANGE_NOT_INTERN = 2
* OBJECT_NOT_FOUND = 3
* QUANTITY_IS_0 = 4
* QUANTITY_IS_NOT_1 = 5
* INTERVAL_OVERFLOW = 6
* BUFFER_OVERFLOW = 7
* OTHERS = 8
.
IF sy-subrc <> 0.
ENDIF.
MODIFY lt_tab1 FROM ls_tab1.
ENDLOOP.
MOVE-CORRESPONDING lt_Tab1 to lt_tab2.
MODIFY zbext0010 from TABLE lt_tab2.
IF sy-subrc = 0.
e_message = '성공했습니다.'.
ELSE.
e_message = '실패했습니다.'.
ENDIF.
ENDCASE.
ENDFUNCTION.
입력 저장 승인.. 승인요청 로직과 비슷하다. UI5상에서 입력하는 그 로직을 짜지 못해서 TEST해볼수 없다. 전표번호 OBJECT를 생성하긴 하였지만 저렇게 넣으면 RFC실행시 전표번호가 들어갈지 잘 모르겠다..