PROJECT(4)

콩이·2020년 9월 16일
0

PROJECT

목록 보기
3/9

9.17

조회 펑션 모듈

데이터 선언

      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.

승인자 이름을 들고오기위해 프로젝트 마스터의 승인자 번호와 사원테이블을 조인함.

승인 요청 FUNCTION

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.

저장 FUNCTION

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실행시 전표번호가 들어갈지 잘 모르겠다..

profile
有志竟成

0개의 댓글