메뉴 건너뛰기

SAP 한국 커뮤니티

>3개의 테이블 A, B, C에서



>A와 B를 inner join건 itab1을



>C와 루핑을 돌리면서 C의 필드를 몇개 추가하려고 합니다.



>3개 테이블 전부 공동키가 있어 3개를 전부 inner join해본결과



>C테이블의 값중 null값으로 나와야 할부분까지 전부 레코드가 나오더군요.



>또..itab1에 C를 outer join해보려 했으나..



>C테이블 추가시 파라메터 조건절을 outer join에서는 넣을수없다고(?) 오류가 뜨더군요.





>-> 이건 현재 실패하고 있는 로직입니다..



>  IF p_vb_n EQ space.
    p_vb_n = '%'.
  ENDIF.
  IF p_vb_v EQ space.
    p_vb_v = '%'.
  ENDIF.



>  SELECT
      a~auart
      a~vbeln
      b~posnr
      b~matnr
      b~kwmeng
      b~netwr
  FROM vbak AS a
   INNER JOIN vbap AS b
     ON a~vbeln EQ b~vbeln
  INTO CORRESPONDING FIELDS OF TABLE gt_list01
  WHERE a~erdat    IN    s_erdat
  AND   a~auart    IN    s_auart.



>  SELECT
      a~vbeln
      c~vbeln AS vbeln_a
      c~posnn
  FROM vbak AS a
   INNER JOIN vbfa AS c
     ON a~vbeln EQ c~vbelv
  INTO CORRESPONDING FIELDS OF TABLE gt_list02
  WHERE c~vbtyp_n  LIKE  p_vb_n
  AND   c~vbtyp_v   LIKE  p_vb_v.



>  LOOP AT gt_list01.
    CLEAR gt_list03.
    MOVE-CORRESPONDING gt_list01 TO gt_list03.
    APPEND gt_list03.
  ENDLOOP.



>  LOOP AT gt_list02.
    CLEAR gt_list03.
    MOVE-CORRESPONDING gt_list02 TO gt_list03.
    APPEND gt_list03.
  ENDLOOP.



>지금 이렇게 해봤는데 gt_list01에 있는 레코드는 gt_list03에 올라가나 gt_list02 레코드는 전혀 안들어갑니다.



>gt_list라는 인터널 테이블을 만들고 01~03까지 like를 써서 그 테이블구조를 그대로 가져온 상태고요..




>설명이 부족해도.. 초보자의 어설픈점이니 웃어넘겨주시고.. 답변좀 부탁드리겠습니다 ^^;


 


 


 


 


SELECT        "vbak vbap 조인
      a~auart
      a~vbeln
      b~posnr
      b~matnr
      b~kwmeng
      b~netwr
  FROM vbak AS a
   INNER JOIN vbap AS b
     ON a~vbeln = b~vbeln
  INTO CORRESPONDING FIELDS OF TABLE gt_list
  WHERE a~erdat IN s_erdat
  AND   a~auart IN s_auart.


 


  LOOP AT gt_list.


 


    DATA : l_vbelv LIKE vbfa-vbelv,
               l_posnn LIKE vbfa-posnn.


 


    CLEAR : l_vbelv, l_posnn.


 


    SELECT SINGLE vbeln posnn
      FROM vbfa
      INTO (l_vbelv, l_posnn)
      WHERE vbelv = gt_list-vbeln
      AND   posnn = gt_list-posnr
      AND   vbtyp_n = 'J'
      AND   vbtyp_v = 'C'.


 


    gt_list-vbeln_a = l_vbelv.
    gt_list-posnn_a = l_posnn.


 


    MODIFY gt_list.


 


  ENDLOOP.


 


형님께 도움받아서 완료했습니다.


 


로직을 떠나서 전체흐름을 이해 못했던탓이 크네요..


 


지금도 잘이해하는건 아니지만..


 


일단 vbak , vbap는 헤더와 아이템 테이블


 


vbfa는 플로우 테이블로 vbeln, vbelv필드를 다 가지고 있고


 


이 필드들이 vbtyp_n,v 값에 따라서 왔다갔다 하는거더군요.

번호 제목 글쓴이 날짜 조회 수
2992 [요청]TOP-OF-PAGE DURING LINE-SELECTION. ?? [1] 늑깍이 2009.01.08 1409
2991 <b>[완료]</b>모듈풀 프로그램에서 "타이틀" 길게 쓰는법? [2] tenyearsago 2009.01.08 1262
2990 <b>[완료]</b>[AT LINE-SELECTION]질문입니다. LINE-SELECTION에서 펑션이 가능한가요? [5] 쭈니 2009.01.07 1255
2989 [요청]중첩 if문와 case문 작성에 대해 조언구합니다. [2] 로미오 2009.01.07 3410
2988 <b>[완료]</b>테이블 3개 조인해서 인터널 테이블 생성 질문입니다. [1] 카츠 2009.01.07 1439
» <b>[완료]</b>[re] 테이블 3개 조인해서 인터널 테이블 생성 질문입니다. 카츠 2009.01.07 1414
2986 <b>[완료]</b>인터널 테이블 헤더에 있는 데이터를 바디에 옮기는 방법 [2] tenyearsago 2009.01.07 1470
2985 <b>[완료]</b>SET EXTENDED CHECK 무슨 명령일까요? [1] 김지성 2009.01.07 1357
2984 <b>[완료]</b>로컬로 만든 프로그램에 include를 붙이려하니까 에러가 나네요.왜일까요? [3] Happy~ 2009.01.07 3564
2983 <b>[완료]</b>테이블 컨트롤 sort 기능 해제명령어 [4] tenyearsago 2009.01.06 1705
2982 [요청]USER vs CUSTOMER EXIT 의 차이점이 무엇인가요? [1] 열공아밥 2009.01.06 1905
2981 <b>[완료]</b>Request 와 Task의 개념에 대해서... [2] 삽질 2009.01.06 1600
2980 [요청]data선언과 count에 관한 질문입니다. [3] 캔디^^ 2009.01.06 1198
2979 <b>[완료]</b>필드 카탈로그 옵션중 질문입니다. [4] 카츠 2009.01.06 1856
2978 <b>[완료]</b>[AT LINE-SELECTION]질문입니다. 다른질문요 file 쭈니 2009.01.06 1232
2977 [요청]팝업창을 통해 입력을 받을려면요? [4] 로이 2009.01.06 2012
2976 <b>[완료]</b>SAP 서브쿼리 용법 & IN 사용법좀 알려주세요. 막혔습니다... [1] 또길 2009.01.06 3697
2975 [요청]엑셀 다운로드시 제목과 시트이름이 항상 동일한가요? 2009.01.06 2007
2974 <b>[완료]</b>색을 변경하려면 무슨 구문을 써야 하나요?! MOTO 2009.01.05 1081
2973 [요청]Smartform 에서 Picture에 관하여... [3] im 해성 2009.01.05 1220