메뉴 건너뛰기

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 값에 따라서 왔다갔다 하는거더군요.

번호 제목 글쓴이 날짜 조회 수
2999 <b>[완료]</b>SAP GUI 7 어디서 다운 받죠? 질문 30자 이상 휴 힘들다 [2] 김지성 2009.01.09 1312
2998 [요청][문의]스마트폼 형식을 PDF파일로 자동저장할 수 있도록 하는 기능이나 펑션좀 알려주세요 [4] 대지꿀꾸링 2009.01.08 1982
2997 <b>[완료]</b>테이블컨트롤에서 현재 화면에 나타나는 라인수를 표시하는 방법 [2] tenyearsago 2009.01.08 1746
2996 [요청]PR 생성 시 오류 - Currency 확인은 어디서 하나요? [1] 용스 2009.01.08 1304
2995 [요청][질문]Standard Program에서 status 버튼 추가 방법 [3] 비와바람 2009.01.08 1426
2994 [요청]abap 메모리 export와 import 의문점 해결부탁합니다. [3] 원더걸 2009.01.08 2842
2993 [요청]select문장과 call screen 100 삽입위치에 대해.. [3] file 로미오 2009.01.08 1419
2992 [요청]TOP-OF-PAGE DURING LINE-SELECTION. ?? [1] 늑깍이 2009.01.08 1421
2991 <b>[완료]</b>모듈풀 프로그램에서 "타이틀" 길게 쓰는법? [2] tenyearsago 2009.01.08 1268
2990 <b>[완료]</b>[AT LINE-SELECTION]질문입니다. LINE-SELECTION에서 펑션이 가능한가요? [5] 쭈니 2009.01.07 1261
2989 [요청]중첩 if문와 case문 작성에 대해 조언구합니다. [2] 로미오 2009.01.07 3426
2988 <b>[완료]</b>테이블 3개 조인해서 인터널 테이블 생성 질문입니다. [1] 카츠 2009.01.07 1448
» <b>[완료]</b>[re] 테이블 3개 조인해서 인터널 테이블 생성 질문입니다. 카츠 2009.01.07 1416
2986 <b>[완료]</b>인터널 테이블 헤더에 있는 데이터를 바디에 옮기는 방법 [2] tenyearsago 2009.01.07 1479
2985 <b>[완료]</b>SET EXTENDED CHECK 무슨 명령일까요? [1] 김지성 2009.01.07 1393
2984 <b>[완료]</b>로컬로 만든 프로그램에 include를 붙이려하니까 에러가 나네요.왜일까요? [3] Happy~ 2009.01.07 3572
2983 <b>[완료]</b>테이블 컨트롤 sort 기능 해제명령어 [4] tenyearsago 2009.01.06 1712
2982 [요청]USER vs CUSTOMER EXIT 의 차이점이 무엇인가요? [1] 열공아밥 2009.01.06 1912
2981 <b>[완료]</b>Request 와 Task의 개념에 대해서... [2] 삽질 2009.01.06 1603
2980 [요청]data선언과 count에 관한 질문입니다. [3] 캔디^^ 2009.01.06 1207